今天開啟舊檔,開啟前我必需先做一個簡單的Check動作,
如果Check失敗,就把這個Chile Frame關掉
由於我把Check的動作是寫在CMyDocument::Serialize()中,
所以Check過後,條件不合,那就是應該"馬上"結束掉這個視窗才是
我之前有用過在Serialize中先用GetActiveView()取得目前View的pointer
再用GetParentFrame()來取到子視窗的pointer,型態為CWnd*
如果我用
CWnd *ChildFrame = GetParentFrame();
ChildFrame -> MDIDestroy() 就會當掉
接下來,我有想到說在View裡面某個地方寫GetParentFrame(),再像剛所提的
MDIDestroy(),還是不行
我有試過OnDraw(),因為我是想說在一開始重畫,如果沒有資料(因為Check失敗了
嘛,資料沒有讀進來),就做這個動作,也是不行....
我有一些理由讓我不要把Check的動作寫在 CMyMDIChildFrame中
請問各位,我剛才試過的方法,到底是為什麼不可以這樣做呢??
以及,我要如何解決這個問題??
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: 202.39.11.114