自定义窗口不但可以用于作为主窗口开发框架软件或者全屏软件,也常用于作为子窗口开发自定义控件。创建一个工程名为“bt”的对话框程序,演示通过创建自定义子窗口来开发一个按钮的过程。图11-13 创建通用窗口派生类2)在建立好的自定义按钮类头文件中,添加一些成员变量和函数。5)在类视图中添加一些窗口显示和与鼠标操作相关的消息映射函数,如图11-14所示。9)在源文件中,简单编写两个按钮的消息反射函数。......
2023-11-25
MFC内部也封装了一些“装饰好的”控件派生类,包括位图按钮(CBitmapButton类)、扩展组合控件(CComboBoxEx类)、复选列表框(CCheckListBox类)和拖动列表框(CDragListBox类)等。其中除CDragListBox类外,都是通过自绘技术实现的。
1)CBitmapButton类,如图10-48所示。
CBitmapButton类用于创建和操作不包括文字的纯位图按钮控件,每个位图按钮可以包含1~4种状态的位图。四种状态分别是正常状态(未按下)、选中状态(被按下)、焦点状态和禁用状态。第一张正常状态的位图是必须有的,其他三张位图可以不提供。CBitmap Button类的常用成员见表10-3。
图10-48 CBitmap Button类
表10-3 CBitmapButton类的常用成员
2)CComboBoxEx类,如图10-49所示。
图10-49 CComboBoxEx类
CComboBoxEx类用于创建和操作扩展组合控件,每个列表项支持文字、图像和选中图像等,常用于在软件中开发类似头像列表的功能。在对话框资源编辑时,要注意选择工具栏的最后一个控件(Extended Combo Box),如图10-50所示。CComboBoxEx类的常用成员见表10-4。(www.chuimin.cn)
图10-50 Extended Combo Box控件
表10-4 CComboBoxEx类的常用成员
3)CImageList类(见图10-51),常用成员见表10-5。
图10-51 CImageList类
表10-5 CImageList类常用成员
有关VC++就业培训宝典之MFC视频教程的文章
自定义窗口不但可以用于作为主窗口开发框架软件或者全屏软件,也常用于作为子窗口开发自定义控件。创建一个工程名为“bt”的对话框程序,演示通过创建自定义子窗口来开发一个按钮的过程。图11-13 创建通用窗口派生类2)在建立好的自定义按钮类头文件中,添加一些成员变量和函数。5)在类视图中添加一些窗口显示和与鼠标操作相关的消息映射函数,如图11-14所示。9)在源文件中,简单编写两个按钮的消息反射函数。......
2023-11-25
自绘按钮是最容易开发的自绘控件,其他支持自绘的界面对象还有组合控件、列表控件以及自绘菜单等。开发这些自绘界面的难度要大一些,例如,组合控件要自绘下拉列表中的每一项,列表控件还要对不同的行和列进行处理等。打开本章第5节的“Si”工程,本节将继续开发一个带图标和文字的组合控件。1)修改国籍组合控件的属性,选择Owner draw中的Variable选项,如图10-33所示。......
2023-11-25
当框架类窗口大小变化时,客户区内所有子窗口的位置自动排布。CFrameWnd类对工具栏的停靠和浮动控制,在其他CWnd派生类中都难以实现。图12-35 CFrameWnd类①调用CFrame::Create函数直接创建。LoadFrame对参数进行裁剪,只有第一个参数必须代入,其余参数具有默认数值。LoadFrame不需要代入窗口类型名,也就无需在创建前先注册。CDocTemplate对象将框架、视图与文档绑定在一起,三个组成部分统一由系统内部创建。表12-5 CFrameWnd类的常用成员(续)2)CMDIFrameWnd类如图12-36所示。......
2023-11-25
将一个窗口句柄嫁接到一个CWnd类型变量中。使用MFC应用程序向导,创建一个工程名为“vs”的对话框程序,演示通过函数建立关联变量。4)修改对话框初始化函数,通过调用函数建立控件窗口和变量的关联。6)为增、删、改3个按钮建立消息映射函数并修改代码。实际上类向导建立的关联变量,内部也是调用子类化函数实现的,但是使用向导建立关联变量更加方便一些。因此,在后续章节中,主要使用类向导建立关联变量。......
2023-11-25
标签控件,又称选项卡控件。很多软件的用户资料注册部分是采用注册向导模式,而用户资料修改则采用标签控件管理模式。打开本章第3节建立的“usd”工程,本节继续演示采用标签控件来管理多个分页。1)新插入一个对话框资源,作为使用标签控件进行分页管理的父窗口,如图9-20所示。6)添加标签控件的TCN_SELCHANGE消息反射函数OnSelchangeTab,如图9-22所示。图9-24 查看运行结果单击“修改”按钮或者双击列表选项,就会打开带标签控件的修改资料的对话框。......
2023-11-25
进入调试状态后,在Visual C++6.0底部会自动出现2个窗口。它们分别是手动变量观察窗口和自动变量观察窗口。此外,Visual C++6.0的顶部还会出现一个调试工具栏。以上窗口只能在调试状态下才能出现,在正常的编辑状态下是无法出现的,在默认情况下,左边是Variables窗口,右边是Watch窗口。Variables上方比Watch多了一个下拉窗口,内部列出的是函数之间的调用关系。图1-24 自动变量观察窗口图1-25 Debug工具栏6)Debug工具栏中显示的都 是重要的调试功能。......
2023-11-25
从自定义的空白窗口开始开发出一个控件,无疑是比较辛苦的工作。其实前面章节中的自绘控件,就是一种特殊控件二次开发的方法,但有很多控件没有自绘属性。不支持自绘的控件进行二次开发,主要是编写代码改造控件的绘图和操作的消息映射函数,如OnPaint和OnMouseMove等。3)在类视图中添加一些窗口显示与鼠标操作相关的消息映射函数,如图11-19所示。显然基于标准控件的二次开发,比从空白窗口开始重新开发控件的过程简单很多。......
2023-11-25
使用MFC应用程序向导,创建一个工程名为“tb”的基于对话框程序,用于演示通过创建自定义子窗口来开发一个标签控件的过程。1)在类视图中添加CWnd派生类,由空白窗口开发出一个标签控件,如图11-16所示。5)在源文件中,继续编写插入标签项的函数。11)修改主对话框的初始化函数,调用CTestTab::Create函数创建自定义标签控件。本示例演示了将空白窗口加工成为标签控件的过程,微软的开发人员也是这样开发标签控件的。......
2023-11-25
相关推荐