IsDlgButtonChecked
函数功能:该函数可以确定某个按钮控制是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。
函数原型:UINT IsDlgButtonChecked(HWND hDlg,Int nlDBUtton);
参数:
hDlg:指向包含按钮控制的对话框。
nkDButtom:指定按钮控制的整型标识符。
返回值:使用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或BS_3STATE样式创建的按钮的返回值可以是如下值之一:
BST_CHECKED:表示按钮被选中。
BST_INDETERMINATE:表示按钮是灰色的,即为不确定状态(只有具有BS_3STATE或BS_AUTO3STATE样式的按钮才使用该值)。
BST_UNCHECKED:表示该按钮未选中(unckecked)。如果该按钮用其他任何样式,那么返回值为零。
速查:Windows NT:3.1及以11版本;Windows:95及以上版本;Windows CE:不支持:头文件:winuser.h;库文件:user32.lib。
这个函数只能判读一个按钮,如果有多个按钮的话可以自己编写一个函数如:第一个参数为窗口句柄,第二个参数为第一个按钮id,第三个参数为最后一个按钮id
int GetCheckRadioButton(HWND hwnd,int firstId,int lastId){
int i;
UINT iChecked;
for(i = firstId;i < lastId;i++){
iChecked = IsDlgButtonChecked(hwnd,i);
if(iChecked == BST_CHECKED){
return i;
}
}
return -1;
}