单选按钮(Radio Button)和复选框(Check Box)是常见的Windows控件,用于从给出的选项中选择一项或多项 单选按钮是互斥的,只能选择其中一项;而复选框没有限制,可以选择一项或多项。 单选按钮和复选框都是一种特殊的按钮,窗口类名称都是button,只不过增加了一些特殊的窗口样式罢了。单选按钮的样式为BS_AUTORADIOBUTTON,复选框的样式为BS_AUTOCHECKBOX。要想为单选按钮分组,可以增加WS_GROUP样式。设置了 WS_GROUP 样式的单选框为一组中的首元素,随后的所有单选按钮都和它在同一组,直到下一个设置了 WS_GROUP 样式的单选按钮。 下面的代码,将实现上图中所示的单选按钮和复选框: //窗口过程 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ PAINTSTRUCT ps; HDC hdc; static HFONT hFont; //逻辑字体 //一组单选按钮 static HWND labSex; //静态文本框--性别 static HWND radioMale; //单选按钮--男 static HWND radioFemale; //单选按钮--女 //一组单选按钮 static HWND labMarriage; //静态文本框--婚姻状况 static HWND radioMarried; //单选按钮--已婚 static HWND radioSingle; //单选按钮--未婚 static HWND radioSecrecy; //单选按钮--保密 //一组复选框 static HWND labPet; //静态文本框--你的宠物 static HWND checkboxDog; //复选框--狗 static HWND checkboxCat; //复选框--猫 static HWND checkboxFish; //复选框--鱼 static HWND checkboxOther; //复选框--其他 switch (message){ case WM_CREATE: hFont = CreateFont( -14, -7, 0, 0, 400, FALSE, FALSE, FALSE,DEFAULT_CHARSET, OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, DEFAULT_QUALITY, FF_DONTCARE, TEXT("微软雅黑")···