리소스 편집기에서 새 대화 상자로 만든 자식 대화 상자가 있습니다. 그런 다음 부모 대화 상자에 정적 컨트롤을 사용하여 자리 표시 자 역할을 수행했습니다. 자식 컨트롤은 자리 표시자가 다음 코드를 사용하는 위치에 표시됩니다.MFC : 자식 대화 상자의 기본 단추를 작동시키는 방법?
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 키를 누르고 기본 단추의 동작을 수행하려고합니다. 그러나 그것은 작동하지 않습니다; 내가 어떻게 할 수 있니?