再談MFC學習——模態對話框的數據傳遞

學習c++的目的就是爲了使用封裝好的類,而最最經典的封裝類當然是微軟的MFC窗口程序類。學習MFC編程之前要學習c++的主要知識,掌握c++的基本編程思想。下面就看下我學習的MFC模態對話框的數據傳遞。

首先,什麼叫做模態對話框呢?模態對話框指的是當彈出這樣的對話框的時候,程序不能相應除了此對話框外其他的窗口的響應,直到關閉了這個對話框,程序才能響應其他的對話框的響應。非模態對話框即使彈出也能響應程序其他的窗口而不需要等到此窗口的關閉。那麼MFC中怎麼才能彈出模態對話框呢?其實很簡單,首先創建這樣的一個窗口資源,然後給這個資源綁定一個自己的類,這個類要繼承於其他的類,比如CDialog。在程序中的響應函數中,先定義這樣的一個類的對象dlg,然後調用dlg.doModal()便可以了。

關於模態對話框和主對話框之間的數據傳遞可以使用四種不同的方法實現:

1. 全局變量;這種方法雖然可以實現這樣的數據傳遞功能,但是沒有體現出c++的面向對象的機制;

2. AfxGetMainWnd方法的使用;這樣的方法是通過獲取主對話框的指針,然後利用這個指針獲取主對話框上的對象的內容;

3. GetParent()函數的方法;這樣的方法可以獲取父對話框的指針,然後通過這個指針進行相應的操作;

4. 成員變量和成員函數的方法;如果成員變量是私有的,那麼我們需要定義成員函數才能對這樣的變量進行操作,但是爲了方便,我們可以定義一個公有的指向主對話框的指針;



發佈了57 篇原創文章 · 獲贊 35 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章