【发布时间】:2014-02-28 12:53:17
【问题描述】:
。 我是 C++ 新手,并试图获取单选按钮的值以在我的应用程序中使用。 但我无法获得单选按钮的正确状态。 这是我编写的代码:
hDecRB = CreateWindow(TEXT("BUTTON"), TEXT("Decimal Result"), WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,20, 80, 150, 30, hWnd, NULL, NULL, NULL);
hDecRB = CreateWindow(TEXT("BUTTON"), TEXT("Binary Result"), WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,20, 120, 150, 30, hWnd, NULL, NULL, NULL);
hDecRB = CreateWindow(TEXT("BUTTON"), TEXT("Octal Result"), WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,20, 160, 150, 30, hWnd, NULL, NULL, NULL);
hDecRB = CreateWindow(TEXT("BUTTON"), TEXT("Hex Result"), WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,20, 200, 150, 30, hWnd, NULL, NULL, NULL);
if(BM_GETCHECK==BST_CHECKED)
{
flag=Button_GetState(hBinRB);
MessageBox(NULL,"CHECKED","sachin",MB_OK);
}
else
{
MessageBox(NULL,"Binary not checked","sachin",MB_OK);
MessageBox(NULL,(LPCSTR)flag,"sachin",MB_OK);
}
但是当我单击我的专用按钮以检查单选按钮状态时,它显示我在选中和未选中的条件下都未选中.. 请帮助我摆脱困境。 . .
【问题讨论】:
-
你的 if() 语句比较两个常量值,它总是 false。您当然希望实际使用 flag 值
if (flag & BST_CHECKED)。考虑使用 C++ 类库来帮助您编写此类代码,例如 MFC、Qt、wxWidgets 等。如果您想使用原始 winapi,Petzold 是必不可少的阅读材料。