→ diabloevagto:好奇有什麼情況需要父傳子? 04/10 20:39
※ 編輯: don750421 來自: 118.171.24.145 (04/10 21:14)
→ don750421:原文已補充原因了@@ 04/10 23:57
→ jhchou:父視窗在建立子視窗時用個成員變數記錄下來 04/11 10:19
→ jhchou:就可以直接操作子視窗了啊 04/11 10:20
→ diabloevagto:樓上的意思是要建立一個指標嗎? 04/11 10:44
推 EdisonX:指的是在 CMainDlg 建立 data member m_name/m_year...etc 04/11 10:51
→ don750421:建立子視窗時建立成員變數? 意思是?宣告成全域變數? 04/11 21:02
→ jhchou:其實就是你前一篇問的時候b大給你的sample code的方法 04/11 21:26
→ jhchou:只是他是透過sub這個全域變數去操作子視窗 04/11 21:27
→ jhchou:你就學他的方法直接對子視窗中的變數設值 再呼叫子視窗的 04/11 21:28
→ jhchou:UpdateData 就可以了 04/11 21:29
→ don750421:我有試過,但是我忘記有沒有設UpdateData了 04/11 21:32
→ don750421:我照b大的方式做,但是我將sub宣告放到.h內public 04/11 21:33
→ don750421:就不行了!!為什麼呢? 04/11 21:33
→ jhchou:你sub放到.h內還是全域變數嗎?還是放到某個class中? 04/11 22:01
→ don750421:以b大的SampleCode為例,我放到class CADlg : public CD 04/11 22:11
→ don750421:內,編譯就出錯誤了 04/11 22:11
→ jhchou:#include "sub.h"要在#include "stdafx.h"後面 04/11 22:18
→ don750421:OK了,沒注意到小細節...感謝j大 04/11 22:31
→ don750421:另外個問題是,如果按關閉視窗後,再次點開啟視窗 04/11 22:32
→ don750421:就會發生錯誤...是因為沒有DestroyWindow嗎? 04/11 22:32
→ bbearh:我用的方法, 比較暴力一些, 要比較好的寫法用 sub *subdlg= 04/11 23:08
→ bbearh:new sub(); 再create()... 將window "X" 掉,不會DestroyWin 04/11 23:09
→ bbearh:有二種選擇: a.第二次再開時 call Showwindow(),b.或像你 04/11 23:10
→ bbearh:說的 subdlg.destorywindow() 後再create 一次. 04/11 23:11