设为首页 加入收藏

TOP

对话方块(二十三)
2010-12-30 21:13:56 来源: 作者: 【 】 浏览:40858
Tags:对话 方块
鼠单击其中一个单选按钮时(或者当单选按钮拥有输入焦点时按空白键),子视窗向其父视窗发送一个WM_COMMAND讯息,讯息的wParam的低字组被设为控制项的ID,wParam的高字组是一个通知码,lParam值是控制项的视窗代号。对於单选按钮,这个通知码是BN_CLICKED或者0。然後Windows中的对话方块视窗讯息处理程式将这个WM_COMMAND讯息发送给ABOUT2.C内的对话方块程序。当对话方块程序收到一个单选按钮的WM_COMMAND讯息时,它为此按钮设定选中标记,并为组中其他按钮清除选中标记。

您可能还记得在第九章中已经提过,选中和不选中按钮均需要向子视窗控制项发送BM_CHECK讯息。要设定一个按钮选中标记,您可以使用:

要消除选中标记,您可以使用:

其中hwndCtrl参数是子视窗按钮控制项的视窗代号。

但是在对话方块程序中使用这种方法是时有点问题的,因为您不知道所有单选按钮的视窗代号,只是从您获得的讯息中知道其中一个代号。幸运的是,Windows为您提供了一个函式,可以用对话方块代号和控制项ID来取得一个对话方块控制项的视窗代号:

(您也可以使用如下函式,从视窗代号中取得控制项的ID值:

但是在大多数情况下这是不必要的。)

您会注意到,在程式11-2所示的表头档案ABOUT2.H中,八种颜色的ID值是从IDC_BLACK到IDC_WHITE连续变化的,这种安排在处理来自单选按钮的WM_COMMAND讯息时将会很有用。在第一次尝试选中或者不选中单选按钮时,您可能会在对话方块程序中编写如下的程式:

首页 上一页 20 21 22 23 24 25 26 下一页 尾页 23/82/82
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇剪贴簿 下一篇功能表及其他资源

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: