控件

对数据和方法的封装

控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能、控件创建过程包括设计、开发、调试(就是所谓的3Ds开发流程,即Design、Develop、Debug)工作, 然后是控件的使用。

内容简介
1、控件应用
使用现成的控件来开发应用程序时,控件工作在两种模式下:设计时态和运行时态。
在设计时态下,控件显示在开发环境下的一个窗体中。设计时态下控件的方法不能被调用,控件不能与最终用户直接进行交互操作,也不需要实现控件的全部功能。
运行状态下,控件工作在一个确实已经运行的应用程序中。控件必须正确地将自身表示出来,它需要对方法的调用进行处理并实现与其他控件之间有效的协同工作
2、控件创建
创建控件就是自行设计制作出新的控件。
设计控件是一项艰苦的工作。对于控件的开发者,控件是纯粹的代码。实际上,创建新控件使我们回到传统开发工具的时代。虽然这是一个复杂的过程,但也是一个一劳永逸的过程。
控件开发者应该掌握的三项主要内容是:属性、事件和方法。
分类
用于开发构建用户界面(UI)的控件,帮助完成软件开发中视窗、文本框、按钮、下拉式菜单界面元素的开发。
代表:DXperience、WebUIStudio Premier、BCGControlBarComponentOne Studio、NetAdvantage、Xtreme Toolkit等。
用于开发图表的控件,帮助软件实现数据可视化,实现开发时较难独立完成的复杂图表。
代表:FlexChart、TeeChartAnyChartChartDirector、chart fx、Visifire、Iocomp等。
用与开发报表的控件,在软件中实现报表的浏览查看、设计、编辑、打印等功能。
代表:stimulsoft report、FastReport、ActiveReports等。
专门用于开发表格(CELL)的控件,主要实现网格中数据处理和操作的功能。
代表:WebGrid Enterprise、Spread、FlexGrid等。
条形码控件
用与条形码生成、扫描、读取和打印的控件。
代表:Barcode XpressTBarcodeBarcode Reader Toolkit、BarCode ComponentOne等。
一般是指帮助软件实现图像浏览与简单编辑功能的控件。
文档处理控件
一般指实现文档文件的浏览、编辑功能的控件。
代表:add-in express for office and vcl、Aspose、TX Text Control、C1Word等。
库类控件
由 Microsoft 基础类库 (MFC) 提供的其他控件类(以前称为 OLE 控件),可以在 Windows 应用程序的对话框中使用,或在万维网HTML 页中使用。有关更多信息,请参见 MFC ActiveX 控件。
公共控件
Windows 操作系统总是提供了若干 Windows 公共控件。这些控件对象都是可编程的,Visual C++对话框编辑器支持将这些控件对象添加到对话框。Microsoft 基础类库 (MFC) 提供相应的类来封装这些控件中的每一个,如表 Windows 公共控件和 MFC 类中所示。(表中的某些项有进一步描述它们的相关主题。有关没有主题的控件的信息,请参见 MFC 类的文档。)
CWnd 类是所有窗口类(包括所有控件类)的基类。下列环境支持 Windows 公共控件:
Windows NT 3.51版及更高版本。
Win32 系列 1.3 版(Visual C++ 4.2 版及更高版本不支持 Win32 系列)。
旧式公共控件在 Windows 的早期版本中同样可用,这些旧式公共控件包括复选框组合框、编辑框、列表框选项按钮、普通按钮。
应用示例
列表框示例
要在 Microsoft Office Excel 2003 和早期版本的 Excel 中添加列表框,请单击“窗体”工具栏上的“列表框”按钮。然后,创建包含单元格 B2:E10 的列表框。 如果未显示“窗体”工具栏,请指向“视图”菜单上的“工具栏”,然后单击“窗体”。要在 Excel 2007 中添加列表框,请依次单击“开发工具选项卡、“插入”,然后单击“窗体控件”部分中的“列表框”。 右键单击列表框,然后单击“设置控件格式”。键入以下信息,然后单击“确定”。 要指定列表的区域,请在“数据源区域”框中键入 H1:H20。 要在单元格 G1 中键入数值(根据在列表中选择的项目),请在“单元格链接”框中键入 G1。  注意:INDEX( )公式使用 G1 中的值返回相应的列表项目。 在“选定类型”下,确保选择“单选”选项。单击“确定”。  注意:仅在您使用 Microsoft Visual Basic for Applications 过程返回列表值时,“复选”和“扩展”选项才有用。另请注意,使用“三维阴影”复选框可使列表框具有三维外观。列表框应显示项目列表。要使用列表框,请单击任意单元格,这样不会选择列表框。如果您单击列表中的某一项目,单元格 G1 将更新为一个数字,以指示所选项目在列表中的位置。单元格 A1 中的 INDEX 公式使用此数字显示项目的名称。
组合框示例
要在 Excel 2003 和早期版本的 Excel 中添加组合框,请单击“窗体”工具栏上的“组合框”按钮。  要在 Excel 2007 中添加组合框,请依次单击“开发工具”选项卡、“插入”,然后单击“窗体控件”部分中的“组合框”。 创建包含单元格 B2:E2 的对象。 右键单击组合框,然后单击“设置控件格式”。输入以下信息,然后单击“确定”: 要指定列表的区域,请在“数据源区域”框中键入 H1:H20。 要在单元格 G1 中键入数值(根据在列表中选择的项目),请在“单元格链接”框中键入 G1。  注意:INDEX 公式使用 G1 中的值返回相应的列表项目。 在“下拉显示项数”框中,键入 10。此条目决定在必须使用滚动条查看其他项目之前显示的项目数。  注意:“三维阴影”复选框是可选的;使用它可使下拉框或组合框具有三维外观。下拉框或组合框应显示项目列表。要使用下拉框或组合框,请单击任意单元格,这样不会选择对象。如果您单击下拉框或组合框中的某一项目,单元格 G1 将更新为一个数字,以指示所选项目在列表中的位置。单元格 A1 中的 INDEX 公式使用此数字显示项目的名称。
微调框示例
要在 Excel 2003 和早期版本的 Excel 中添加微调框,请单击“窗体”工具栏上的“微调框”按钮,然后创建包含单元格 B2:B3 的微调框。将微调框的大小调整为大约列宽度的四分之一。  要在 Excel 2007 中添加微调框,请依次单击“开发工具”选项卡、“插入”,然后单击“窗体控件”部分中的“数值调节钮”。 右键单击微调框,然后单击“设置控件格式”。输入以下信息,然后单击“确定”: 在“当前值”框中,键入 1。  此值将初始化微调框,以便 INDEX 公式指向列表中的第一个项目。 在“最小值”框中,键入 1。  此值会将微调框的顶部限制为列表中的第一个项目。 在“最大值”框中,键入 20。  此数字指定列表中条目的最大数。 在“步长”框中,键入 1。  此值控制微调框控件将当前值增大多少。 要在单元格 G1 中键入数值(根据在列表中选择的项目),请在“单元格链接”框中键入 G1。单击任意单元格,这样不会选择微调框。如果您单击微调框中的向上控件或向下控件,单元格 G1 将更新为一个数字,以指示微调框的当前值与微调框步长的和或差。然后,此数字将更新单元格 A1 中的 INDEX 公式以显示下一项目或上一项目。  如果您在当前值为 1 时单击向下控件,或者在当前值为 20 时单击向上控件,则微调框值不会更改。
滚动条示例
要在 Excel 2003 和早期版本的 Excel 中添加滚动条,请单击“窗体”工具栏上的“滚动条”按钮,然后创建高度为单元格 B2:B6 且宽度大约为列宽度的四分之一的滚动条。  要在 Excel 2007 中添加滚动条,请依次单击“开发工具”选项卡、“插入”,然后单击“窗体控件”部分中的“滚动条”。 右键单击滚动条,然后单击“设置控件格式”。键入以下信息,然后单击“确定”。 在“当前值”框中,键入 1。  此值将初始化滚动条,以便 INDEX 公式指向列表中的第一个项目。 在“最小值”框中,键入 1。  此值会将滚动条的顶部限制为列表中的第一个项目。 在“最大值”框中,键入 20。此数字指定列表中条目的最大数。 在“步长”框中,键入 1。  此值控制滚动条控件将当前值增大多少。 在“页步长”框中,键入 5。此条目控制当您单击滚动条中滚动框的任意一边时将当前值增大多少。 要在单元格 G1 中键入数值(根据在列表中选择的项目),请在“单元格链接”框中键入 G1。  注意:“三维阴影”复选框是可选的;使用它可使滚动条具有三维外观。单击任意单元格,这样不会选择滚动条。如果您单击滚动条中的向上控件或向下控件,单元格 G1 将更新为一个数字,以指示滚动条的当前值与滚动条步长的和或差。此数字在单元格 A1 中的 INDEX 公式中使用,以显示当前项目的下一项目或上一项目。  您还可以拖动滚动条以更改值,或单击滚动条中滚动框的任意一边以将该值增大 5(“页步长”值)。如果您在当前值为 1 时单击向下控件,或者在当前值为 20 时单击向上控件,则滚动条不会更改。
其他控件
除了封装所有 Windows 公共控件的类和支持对您自己的 ActiveX 控件进行编程(或使用其他应用程序提供的 ActiveX 控件)的类以外,MFC 本身还提供了下列控件类:
CCheckListBox
控件{Controls}:一种基于微软公司ActiveX技术的可重用的软件组件。可用这些组件增加网页、桌面应用程序软件开发工具交互性以及更多的功能,例如动画效果或弹出式选单ActiveX控件可用不同程序设计语言编写,包括Java、C++和Visual Basic
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市