1
我想製作應用程序,一次只能看到一個窗口,以節省內存。比方說,我們有一個窗口,在按下另一個窗口顯示的按鈕後,將刪除前一個窗口。如果在窗口回調函數中處理按鈕按鈕,從窗口函數內部刪除窗口並在新窗口關閉後重新創建窗口是安全的?類似的東西:從回調窗口功能(Windows OS)中刪除窗口可以嗎?
void callback(...) {
...
if (msgID == ENTER_KEY) {
deleteMyself();
showWindow2();
createMyself();
}
...
}
如果這個不好,你能建議更好的方法嗎?
我害怕的是上面的方法會導致異常,因爲其餘代碼(或OS代碼)指向被刪除的舊窗口? – maximus 2013-02-23 07:11:04
這取決於你的代碼。如果您正確添加所有處理程序並在不需要時刪除它們,則不應該有任何問題。你上面的代碼看起來像C++,但我不確定這是否是本機WinAPI或MFC或其他GUI工具包。所以我不能說你應該關心什麼。 – rekire 2013-02-23 07:13:32