|
hButton[0] = CreateWindow("BUTTON","按钮", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,10,100,50,hwnd,(HMENU)IDC_BTN1,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE),NULL);
hButton[1] = CreateWindow("BUTTON","退出", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,60,100,50,hwnd,(HMENU)IDC_BTN2,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE),NULL);
hButton[2] = CreateWindow("BUTTON","加1", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,110,100,50,hwnd,(HMENU)IDC_BTN3,(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),NULL);
hButton[3] = CreateWindow("BUTTON","减1", WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,160,100,50,hwnd,(HMENU)IDC_BTN4,(HINSTANCE)GetWindowLong(hwnd,GWL_HINSTANCE),NULL);
radioB[0] = CreateWindow("BUTTON","单选框1",WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,10,220,120,30,hwnd,NULL,(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL);//创建单选框
radioB[1] = CreateWindow("BUTTON","单选框2",WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,10,260,120,30,hwnd,NULL,(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL);//创建单选框
hCheck[0] = CreateWindow("Button","复选框1",WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,10, 300,120, 30,hwnd,(HMENU)IDC_CHECK1,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL); //创建复选框
hCheck[1] = CreateWindow("Button","复选框2",WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX,10, 340,120, 30,hwnd,(HMENU)IDC_CHECK2,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL);
hEdit=CreateWindow("EDIT","编辑框",WS_VISIBLE|WS_CHILD|WS_BORDER|ES_MULTILINE|ES_WANTRETURN,10,380,200,50,hwnd,(HMENU)IDC_Edit,(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL);//创建文本
用 IsDlgButtonChecked 这个API判断是否选中
该函数可以确定某个按钮控件是否有选中标志,或者三态按钮控制是否为**的、选中的、或两者都不是。
函数原型: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。
if((HWND)lParam == hCheck[0])
{
//MessageBox(hwnd,TEXT("选择框1被单击"),TEXT("标题:"),MB_YESNO);
if(BST_CHECKED == IsDlgButtonChecked(hwnd, IDC_CHECK1))
{
MessageBox(hwnd,TEXT("选择框1被单击且被选中"),TEXT("标题:"),MB_YESNO);
}
else
{
MessageBox(hwnd,TEXT("选择框1被单击且被取消选中"),TEXT("标题:"),MB_YESNO);
}
}
if((HWND)lParam == hCheck[1])
{
//MessageBox(hwnd,TEXT("选择框2被单击"),TEXT("标题:"),MB_YESNO);
if(BST_CHECKED == IsDlgButtonChecked(hwnd, IDC_CHECK2))
{
MessageBox(hwnd,TEXT("选择框2被单击且被选中"),TEXT("标题:"),MB_YESNO);
}
else
{
MessageBox(hwnd,TEXT("选择框2被单击且被取消选中"),TEXT("标题:"),MB_YESNO);
}
}
最后指出,窗口初始化后,默认底色不是纯白或纯黑的,修改代码:
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); // 纯白
wndclass.hbrBackground=CreateSolidBrush(RGB(240,240,240)); //背景颜色
这样窗口的单选框就没有难看烦人的框框了
最后加上自己喜欢的LOGO机器猫图标,图标文件需和exe文件同文件夹
wndclass.hIcon=(HICON)LoadImage(NULL,"i.ico",IMAGE_ICON,48,48,LR_LOADFROMFILE);//加载图标
mywnd.zip
(238.44 KB, 下载次数: 12)
|
|