簡體   English   中英

MFC:如何使子對話框的默認按鈕起作用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM