 |
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 *字符串指針的讀者)
|