怎么样使用API,让对于一个CHECKBOX资源窗口选中或反选?只能使用WINDOWS的API函数
EnableWindow只能让窗口变灰或active,不能选中
EnableWindow只能让窗口变灰或active,不能选中
解决方案 »
- 如何让非模态对话框跟随自己的父窗口一起运动?
- 关于在MFC派生类中处理菜单消息(可能涉及到消息反射)
- 我的VC打开一个工程后资源面板显示资源载入失败,可是我别的工程资源都能载入。请高手指点。
- 远程线程注入在Debug下和release下的问题
- 如何在CListCtrl上显示按钮,按钮需要一直显示
- 用Shell_NotifyIcon(NIM_MODIFY,&nid)的问题?
- 用ado编了一个小的数据库程序,编译没有问题。但点其中一个命令按钮时,系统却提示“runtime error!".不知道错哪里了。请教
- SAX高手请进。 解决问题,一定给分!!!
- Queryinterface的怪事,高手快来(跟帖有分)
- listcctrl 自动查找的问题 怎么屏掉
- 怎样动态的改变对话框背景图??
- 如何实现像ACDSee拖动图像的小手
Specifies the check state. This parameter can be one of the following values.
BST_CHECKED
Sets the button state to checked.
BST_INDETERMINATE
Sets the button state to grayed, indicating an indeterminate state. Use this value only if the button has the BS_3STATE or BS_AUTO3STATE style.
BST_UNCHECKED
Sets the button state to cleared.
lParam
This parameter is not used.
--------------------------------------------------
复选框
复选框是一个文字方块,文字通常出现在复选框的右边(如果您在建立按钮时指定了BS_LEFTTEXT样式,那么文字会出现在左边;您也许将用BS_RIGHT直接调整文字来组合此样式)。复选框通常用于允许使用者对选项进行选择的应用程序中。复选框的常用功能如同一个开关:单击框一次将显示勾选标记,再次单击清除勾选标记。复选框最常用的两种样式是BS_CHECKBOX和BS_AUTOCHECKBOX。在使用BS_CHECKBOX时,您需要自己向该控件发送BM_SETCHECK消息来设定勾选标记。wParam参数设1时设定勾选标记,设0时清除勾选标记。通过向该控件发送BM_GETCHECK消息,您可以得到该复选框的目前状态。在处理来自控件的WM_COMMAND消息时,您可以用如下的指令来翻转X标记:SendMessage ((HWND) lParam, BM_SETCHECK, (WPARAM)
!SendMessage ((HWND) lParam, BM_GETCHECK, 0, 0), 0) ;
注意第二个SendMessage呼叫前面的运算子「!」,其中lParam是在WM_COMMAND消息中传给使用者窗口消息处理程序的子窗口句柄。如果您以后又想知道按钮的状态,那么可以向它发送另一条BM_GETCHECK消息;您也可以将目前状态储存在您的窗口消息处理程序中的一个静态变量里,或者向它发送BM_SETCHECK消息来初始化带勾选标记的BS_CHECKBOX复选框:SendMessage (hwndButton, BM_SETCHECK, 1, 0) ;
对BS_AUTOCHECKBOX样式,按钮自己触发勾选标记的开和关,所以您的窗口消息处理程序可以忽略WM_COMMAND消息。当您需要按钮目前的状态时,可以向控件发送BM_GETCHECK消息:iCheck = (int) SendMessage (hwndButton, BM_GETCHECK, 0, 0) ;
如果该按钮被选中,则iCheck的值为TRUE或者非零数;如果按钮末被选中,则iCheck的值为FALSE或0。其余两种复选框样式是BS_3STATE和BS_AUTO3STATE,正如它们名字所暗示的,这两种样式能显示第三种状态-复选框内是灰色-它出现在向控件发送wParam等于2的WM_SETCHECK消息时。灰色是向使用者表示此框不能被选本章的或者禁止使用。复选框沿矩形的左边框对齐,并集中在呼叫CreateWindow时规定的矩形的顶边和底边之间,在该矩形内的任何地方按下鼠标都会向其父窗口发送一个WM_COMMAND消息。复选框的最小高度是一个字符的高度,最小宽度是文字中的字符数加2。