0
我有一個帶有多個按鈕的對話框。點擊它們中的任何一個都將基於單個模板創建一個「子對話框」(如果這是正確的術語......資源文件中的單個子對話框定義和ID)。如何獲得單擊打開對話框的按鈕的控件ID?
例如,從父對話的對話過程:
case WM_COMMAND:
switch (LOWORD(wparam)) {
case IDC_MAPBUT1:
case IDC_MAPBUT2:
case IDC_MAPBUT3:
case IDC_MAPBUT4:
case IDC_MAPBUT5:
case IDC_MAPBUT6:
case IDC_MAPBUT7:
case IDC_MAPBUT8:
case IDC_MAPBUT9:
case IDC_MAPBUT10:
DialogBox(
g_hinstance,
MAKEINTRESOURCE(IDD_DIALOG2),
hwnd,
CPUMapDlgProc);
return TRUE;
//etc
我需要知道其中一個按鈕被點擊它(同時還在子對話框),因爲我需要閱讀來自相應結構的數據。我怎樣才能做到這一點?
您可以手動檢查每個按鈕是否已被點擊。或者,你可以寫一個函數,說「openDialog(buttonName)」,並在所有按鈕的「click」事件中調用該函數。 –
將'LOWORD(wparam)'的值保存到'CPUMapDlgProc'可以查看的全局變量中,或者調用'DialogBoxParam'並將其作爲參數傳遞給'WM_INITDIALOG'消息。 –
@JonathanPotter DialogBoxParam非常適合這項法案,謝謝。如果您將它作爲答案發布,我會接受它。 – eurotrash