用API编写BS_RADIOBUTTON怎么实现互斥的问题?
本帖最后由 VisualEleven 于 2013-10-10 16:08:39 编辑 我是新手,现在需要用API写程序,我直接用WIN API在窗口上创建3个BS_RADIOBUTTON按钮,为什么鼠标点击的时候不能实现互斥呢?请坛子里的兄弟们指教一下,谢谢!
创建代码:
case WM_CREATE:
{
::CreateWindowExW(NULL, L"Button", L"RADIO 1",WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON | WS_GROUP, 10, 20, 100, 20, hWnd, (HMENU)ID_ONE,
((LPCREATESTRUCTW)lParam)->hInstance, NULL);
::CreateWindowExW(NULL, L"Button", L"RADIO 2",WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON, 10, 40, 100, 20, hWnd, (HMENU)ID_TWO, ((LPCREATESTRUCTW)lParam)->hInstance, NULL);
::CreateWindowExW(NULL, L"Button", L"RADIO 3",WS_CHILD | WS_VISIBLE | BS_RADIOBUTTON, 10, 60, 100, 20, hWnd, (HMENU)ID_THR, ((LPCREATESTRUCTW)lParam)->hInstance, NULL);
return 0;
}
case WM_COMMAND:radiobutton api
{
::SendMessageW((HWND)lParam, BM_SETCHECK,(WPARAM)!::SendMessageW((HWND)lParam, BM_GETCHECK, 0, 0), 0);
break;
}
switch(ID)
{
//第一个互斥组
case IDC_RADIO1:
case IDC_RADIO2:
case IDC_RADIO3:
{
CheckRadioButton(hwnd,组中第一个ID,组中最后1ID,哪个选中)//自己搜用法
}
//第二个继续类似
}