[英]MFC: How to get default button of child dialog to work?
我有一個子對話框,我在資源編輯器中將其創建為新對話框。 然后,我在父對話框上使用了一個靜態控件作為占位符。 將顯示子控件,其中占位符使用以下代碼:
CRect rect;
m_optionPanelPlaceholder.GetWindowRect(&rect); // In screen coordinates
ScreenToClient(&rect);
m_optionPanelPlaceholder.ShowWindow(SW_HIDE);
optionsDialogPanel_ = new OptionsDialogPanel(settings_);
// Call Create() explicitly to ensure the HWND is created.
optionsDialogPanel_->Create(OptionsDialogPanel::IDD, this);
// Set the window position to be where the placeholder was.
optionsDialogPanel_->SetWindowPos
(
NULL,
rect.left,
rect.top,
rect.Width(),
rect.Height(),
SWP_SHOWWINDOW
);
這一切都很好。 我的子對話框中有一個按鈕設置為默認按鈕。 用鼠標單擊該按鈕將執行所需的操作。 但是我只想在子對話框的任何編輯文本框中按下Enter鍵,並采取默認按鈕的操作。 但是它不起作用。 我怎樣才能做到這一點?
確保按鈕的ID設置為IDOK而不是IDC_ * 。 MFC負責其余的工作!
在對話框中按Enter鍵時,將調用Parent :: OnOK方法。 因此,您可能可以在Parent :: OnOK方法中調用Child :: OnOK。
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.