關閉→
當前位置:知科普>生活妙招>模式對話框和非模式對話框的區別

模式對話框和非模式對話框的區別

知科普 人氣:1.62W

模式對話框和非模式對話框的區別:

模式對話框和非模式對話框的區別

1、使用中的區別

模式對話框創建後,程序的其他窗口便不能進行操作,必須將該窗口關閉後,其他窗口才能進行操作。而非模式對話框則無需這樣,它不強制要求用户立即反應,而是與其他窗口同時接受用户操作。

2、消息響應的區別

在消息響應方面,模式對話框和非模式對話框之間又有着很大的區別。模式對話框工作的時候,它有內部的消息泵機制,控件之間的交互不用人為的去控制,系統會幫助我們去處理。非模式對話框則像普通窗口一樣,則由WinMain中書寫的消息循環驅動。但由於是對話框,它對一些消息有特殊的處理。因此,在消息循環中,需要先對對話框提供截獲消息的機會。

3、銷燬的區別

模式對話框的銷燬是使用EndDialog,而非模式對話框的銷燬是使用DestroyWindow。所以在銷燬對話框的時候,也要對其進行區別。非模式對話框,用户關閉對話框時,對話框消息處理函數將收到WM_CLOSE消息,接到後調用DestroyWindow以銷燬非模式對話框。模式對話框,則一般響應IDOK和IDCANCEL。在PPC上,我們對於OK鍵和X鍵的處理要注意這點

TAG標籤:#對話框 #模式 #