我有一个按钮,如果我要点击一个复选框,它应该给两个按钮中的一个焦点。
我不确定如何使用BM_SETSTATE - 如果是这样的话。
// snip...
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_CHECK:
if (IsDlgButtonChecked(hDlg, IDC_CHECK))
{
EnableWindow(GetDlgItem(hDlg, IDOK), TRUE);
EnableWindow(GetDlgItem(hDlg, IDCANCEL), TRUE);
BM_SETSTATE // ... ??
}
else
// ... snip
非常感谢任何帮助!非常感谢!
答案 0 :(得分:3)
我不确定你是否理解你所要求的,但也许。
突出显示状态指示按钮是否突出显示,就像用户按下了按钮一样。 它不指示按钮是否具有焦点,也不指示按钮是否被选中。
如果你真的想这样做,请使用Button_SetState宏。
以防万一:
答案 1 :(得分:2)
要在win32中创建一个默认按钮(我想这是你的问题),可以通过发送带有BS_DEFPUSHBUTTON作为WPARAM的BM_SETSTYLE消息按钮来完成......
HWND hwndButton = CreateWindow("button", "OK", WS_VISIBLE |...);
SendMessage(hwndButton, BM_SETSTYLE, (WPARAM)BS_DEFPUSHBUTTON, TRUE);
希望这有助于...; - )