下载本文示例代码
引言 本文将要介绍的Windows控件指的是Windows系统预定义的标准控件,如按钮控件、编辑控件和列表控件等。这些预定义控件实际是一种特殊的子窗口,主要供用户同应用程序的交互之用。和普通窗口类一样,每一个预定义控件也都是由所属的窗口类规定了自身的外观属性和具有的功能。Windows系统通过预定义的方式提供了一些标准控件的窗口类名,在程序设计时只需通过调用CreateWindow()函数或CreateWindowEx()函数并将预定义的窗口类名作为参数传入即可创建出相应的控件。当用户通过屏幕对象同控件进行交互操作时,控件将以"通知消息"的形式向父窗口发送WM_COMMAND通知消息,消息的wParam参数含有控制标识,在lPamam参数的高位字和低位字中分别含有通知码和控制句柄,由父窗口完成对消息的响应处理。 按钮类控件 按钮类控件是窗口类名被系统预定义为BUTTON的一类控件,该类控件具有十余种不同的窗口风格,包含了普通的下压式按钮、单选按钮、复选按钮和分组框等多种常用的按钮形式。具体情况列表如下:
按钮风格
说明
BS_AUTOCHECKBOX
同复选按钮类似,点击一下选中,再次点击取消。
BS_AUTORADIOBUTTON
同单选按钮类似,点击后选中标志将从同组的其他单选按钮处移到当前选项。
BS_AUTO3STATE
同三态复选按钮类似,只是在用户点击后改变状态。
BS_CHECKBOX
复选按钮
BS_DEFPUSHBUTTON
下压按钮,具有较黑的边框。
BS_GROUPBOX
分组框
BS_LEFTTEXT
同单选按钮或复选按钮配合使用,标题将显示在左侧。
BS_OWNERDRAW
可创建一个拥有者自绘按钮。
BS_PUSHBUTTON
普通下压按钮
BS_RADIOBUTTON
单选按钮
BS_3STATE
三态复选按钮 以上按钮风格通常需要同窗口风格共同使用,由CreateWindow()函数或MFC的CButton类成员函数Create()完成对按钮的创建:
// 按钮类窗口风格DWORD STYLE[9] = {BS_AUTOCHECKBOX,BS_AUTORADIOBUTTON,BS_AUTO3STATE,BS_CHECKBOX,BS_DEFPUSHBUTTON,BS_GROUPBOX,BS_PUSHBUTTON,BS_RADIOBUTTON,BS_3STATE};// 动态创建按钮for (int i = 0; i < 9; i ){m_ctrButton[i].Create("BUTTON", WS_VISIBLE | WS_CHILD | WS_BORDER | STYLE[i], CRect(10 110 * i, 10, 100 110 * i, 40), this, IDC_BUTTON1 i);} 如果需要处理按钮发送给其父窗口的消息,可以在进行消息响应的类实现中添加一个如下形式的消息映射入口和相应的消息处理函数:ON_Notification(id, memberFxn ) 其中,id为发送通知消息的按钮ID号,memberFxn为消息处理函数。如果按钮是以new操作符的方式在堆(heap)内创建一个CButton对象,那么就必须确保在关闭窗口前能调用delete销毁该对象。如果CButton对象是在栈上创建的就不必显式销毁对象了,应用程序在退出时会自动予以销毁。zmbbs=1;共4页。 1 2 3 4 :
引言 本文将要介绍的Windows控件指的是Windows系统预定义的标准控件,如按钮控件、编辑控件和列表控件等。这些预定义控件实际是一种特殊的子窗口,主要供用户同应用程序的交互之用。和普通窗口类一样,每一个预定义控件也都是由所属的窗口类规定了自身的外观属性和具有的功能。Windows系统通过预定义的方式提供了一些标准控件的窗口类名,在程序设计时只需通过调用CreateWindow()函数或CreateWindowEx()函数并将预定义的窗口类名作为参数传入即可创建出相应的控件。当用户通过屏幕对象同控件进行交互操作时,控件将以"通知消息"的形式向父窗口发送WM_COMMAND通知消息,消息的wParam参数含有控制标识,在lPamam参数的高位字和低位字中分别含有通知码和控制句柄,由父窗口完成对消息的响应处理。 按钮类控件 按钮类控件是窗口类名被系统预定义为BUTTON的一类控件,该类控件具有十余种不同的窗口风格,包含了普通的下压式按钮、单选按钮、复选按钮和分组框等多种常用的按钮形式。具体情况列表如下:
按钮风格
说明
BS_AUTOCHECKBOX
同复选按钮类似,点击一下选中,再次点击取消。
BS_AUTORADIOBUTTON
同单选按钮类似,点击后选中标志将从同组的其他单选按钮处移到当前选项。
BS_AUTO3STATE
同三态复选按钮类似,只是在用户点击后改变状态。
BS_CHECKBOX
复选按钮
BS_DEFPUSHBUTTON
下压按钮,具有较黑的边框。
BS_GROUPBOX
分组框
BS_LEFTTEXT
同单选按钮或复选按钮配合使用,标题将显示在左侧。
BS_OWNERDRAW
可创建一个拥有者自绘按钮。
BS_PUSHBUTTON
普通下压按钮
BS_RADIOBUTTON
单选按钮
BS_3STATE
三态复选按钮 以上按钮风格通常需要同窗口风格共同使用,由CreateWindow()函数或MFC的CButton类成员函数Create()完成对按钮的创建:
// 按钮类窗口风格DWORD STYLE[9] = {BS_AUTOCHECKBOX,BS_AUTORADIOBUTTON,BS_AUTO3STATE,BS_CHECKBOX,BS_DEFPUSHBUTTON,BS_GROUPBOX,BS_PUSHBUTTON,BS_RADIOBUTTON,BS_3STATE};// 动态创建按钮for (int i = 0; i < 9; i ){m_ctrButton[i].Create("BUTTON", WS_VISIBLE | WS_CHILD | WS_BORDER | STYLE[i], CRect(10 110 * i, 10, 100 110 * i, 40), this, IDC_BUTTON1 i);} 如果需要处理按钮发送给其父窗口的消息,可以在进行消息响应的类实现中添加一个如下形式的消息映射入口和相应的消息处理函数:ON_Notification(id, memberFxn ) 其中,id为发送通知消息的按钮ID号,memberFxn为消息处理函数。如果按钮是以new操作符的方式在堆(heap)内创建一个CButton对象,那么就必须确保在关闭窗口前能调用delete销毁该对象。如果CButton对象是在栈上创建的就不必显式销毁对象了,应用程序在退出时会自动予以销毁。zmbbs=1;共4页。 1 2 3 4 :
下载本文示例代码
VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用VC中Windows常用控件的创建和使用
阅读(121) | 评论(0) | 转发(0) |