[英]I want to display something in a dialog in MFC Dialog-Based but it doesnt display anything in my main dialog !
[英]How to close the main window in MFC dialog-based application
當我要關閉應用程序本身時,有人可以回答如何在基於MFC對話框的應用程序中關閉主窗口嗎? 該應用程序是在MS VS 2010中創建的。非常感謝。
尤金。
嘗試這個:
ASSERT( AfxGetMainWnd()!=NULL );
AfxGetMainWnd()->SendMessage(WM_CLOSE);
您可以將WM_CLOSE發送到對話框hwnd。 PostQuitMessage還應該允許結束應用程序執行。
這取決於您要在關閉過程中進行哪些處理。 如果您只想終止消息循環而不進行任何進一步的處理,則可以調用PostQuitMessage( exitCode )
。 exitCode
將作為進程的退出代碼存儲。
如果要調用OK / Cancel處理程序,則必須分別調用OnOK()
或OnCancel()
。 OnOK()
的默認實現將嘗試保存和驗證對話框數據,並在成功執行后調用EndDialog( IDOK )
以終止消息循環。 OnCancel()
的默認實現只是調用EndDialog( IDCANCEL )
。 兩種方法都不允許您為過程指定退出代碼。 如果您覆蓋了這兩個成員函數中的任何一個,則您需要在執行專用代碼后調用基類實現,除非您希望防止關機。
請記住, OnOK()
和OnCancel()
是CDialog[Ex]
受保護成員,不能從外部直接訪問。 如果您需要從對話框類之外調用任何一個,則必須公開重寫它們。 您可以使用CMyDialog* pDlg = dynamic_cast< CMyDialog* >( AfxGetMainWnd() );
指向主對話框的指針CMyDialog* pDlg = dynamic_cast< CMyDialog* >( AfxGetMainWnd() );
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.