 |
11樓
巨大八爪鱼
2015-12-1 22:35
修改OK按钮上的文字: HWND okbtn = GetDlgItem(hDlg, IDOK); // 获取OK按钮 SendMessage(okbtn, WM_SETTEXT, NULL, (LPARAM)L"Click me");
获取一个复选框是否被选中: HWND checkbox = GetDlgItem(hDlg, IDC_CHECK1); int checked = SendMessage(checkbox, BM_GETCHECK, NULL, NULL); if (checked) { //选中了 }
禁用按钮: EnableWindow(okbtn, false);
|
 |
12樓
巨大八爪鱼
2015-12-1 22:41
启用XP风格控件后: (启用方法请参阅:https://zh.arslanbar.net/post.php?t=22016) 
|
 |
13樓
巨大八爪鱼
2015-12-1 22:42
回复:12楼 程序: // Message handler for about box. INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { static int counter = 0; UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: return (INT_PTR)TRUE;
case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) { EndDialog(hDlg, LOWORD(wParam)); return (INT_PTR)TRUE; } else if (LOWORD(wParam) == IDC_BUTTON1) { wchar_t msg[30]; wsprintf(msg, L"Hello World!\nCounter: %d", counter); MessageBox(hDlg, msg, L"Hello", MB_ICONINFORMATION); SendMessage((HWND)lParam, WM_SETTEXT, NULL, (LPARAM)L"Checked");
HWND okbtn = GetDlgItem(hDlg, IDOK); // get OK button SendMessage(okbtn, WM_SETTEXT, NULL, (LPARAM)L"Click me");
HWND checkbox = GetDlgItem(hDlg, IDC_CHECK1); int checked = SendMessage(checkbox, BM_GETCHECK, NULL, NULL); EnableWindow(okbtn, !checked); } break; case WM_LBUTTONUP: counter++; break; } return (INT_PTR)FALSE; }
|
 |
14樓
巨大八爪鱼
2015-12-1 22:43
关于wchar_t宽字符数组的用法,请参阅: https://zh.arslanbar.net/post.php?t=23331(适合已经学过char字符数组和char *字符串指针的读者)
|