如何在運行時更改使用資源定義創建的COMBOBOX
控件的高度,以便我可以在組合框中插入新字符串?字符串插入代碼正在工作,但前提是我在資源定義中爲組合框設置了固定的高度(例如28個單位)。但這不方便,因爲字符串的數量是動態的。更改COMBOBOX的高度
我知道我可以在運行時創建的對話,但後來我不能使用對話框單位,和資源更加有效......
這裏是我的代碼精簡版本。
資源文件:主窗口和對話框
IDD_SETTINGS DIALOG 0, 0, 100, 100
BEGIN
COMBOBOX IDC_COMBO, 0, 0, 100, 14, CBS_DROPDOWNLIST
END
窗口過程:
BOOL CALLBACK WndProcSettings(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_INITDIALOG:
//...
break;
default:
return FALSE;
}
return TRUE;
}
LRESULT CALLBACK WndProcMain(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
switch (message) {
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDC_SETTINGS:
DialogBox(hInstance, MAKEINTRESOURCE(IDD_SETTINGS), hWnd, WndProcSettings);
break;
}
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return(0L);
}
不清楚你的意思。 「如何更改COMBOBOX控件的高度」和「在組合框中插入新字符串」是如何相關的? COMBOBOX窗口的固定高度僅取決於系統字體大小。 – 2011-05-07 20:50:39
如果高度太小,則無法看到新插入的字符串。 COMBOBOX資源的高度參數包括下拉區域的高度。 – Midas 2011-05-07 20:58:22