IsDlgButtonChecked()

来源:互联网 发布:友声电子秤软件 编辑:程序博客网 时间:2024/06/01 16:07

IsDlgButtonChecked

编辑锁定
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
IsDlgButtonChecked该函数可以确定某个按钮控件是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。
外文名
IsDlgButtonChecked

目录

  1. 1 函数功能
  2. 2 其他信息

IsDlgButtonChecked函数功能

编辑
该函数可以确定某个按钮控件是否有选中标志,或者三态按钮控制是否为灰色的、选中的、或两者都不是。

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。
实例:
//按钮动作响应函数
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl,
UINT codeNotify)
{
switch(id)
{
case IDOK:
//点击确定按钮,判断选中的单选按钮状态
{
UINT iChecked1;
//定义一个接收返回值的变量,这个函数的返回值类型为UINT
iChecked1 = IsDlgButtonChecked(hwnd,IDC_RADIO1);
//得到单选按钮IDC_RADIO1的返回值,存储到iChecked1 ,
if(iChecked1 == BST_CHECKED)//判断单选按钮IDC_RADIO1的返回值的状态为选中
{
MessageBox(NULL,TEXT("选中状态"),TEXT("提示"),MB_OK);
}
if(iChecked1 == BST_UNCHECKED)//判断单选按钮IDC_RADIO1的返回值的状态为未选中
{
MessageBox(NULL,TEXT("未选中状态"),TEXT("提示"),MB_OK);
}
else if(iChecked1 == BST_INDETERMINATE)//判断单选按钮IDC_RADIO1的返回值的状态为灰色,一般不用
{
MessageBox(NULL,TEXT("不确定状态"),TEXT("提示"),MB_OK);
}
else
{
return ;
}//以上三种状态都不出现时,直接返回.
break;
default:
break;
}
}
}
IsDlgButtonChecked这个函数只能判读一个按钮,如果有多个按钮的话可以自己编写一个函数如:第一个参数为窗口句柄,第二个参数为第一个按钮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;
}