亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

OnDestroy//消息處理函數不是點擊×,才會相應嗎?

OnDestroy//消息處理函數不是點擊×,才會相應嗎?

白衣染霜花 2019-02-05 10:06:58
OnDestroy//消息處理函數不是點擊×,才會相應嗎?//怎么去掉if(1==bkMap)就會內存錯誤?void CJune22_tooltestDlg::OnDestroy(){CDialogEx::OnDestroy();// TODO: Add your message handler code hereif (1==bkMap){bkMap=0;pMemDC.SelectObject(pOldBitmap);pMemDC2.SelectObject(pOldBitmap2);pMemDC3.SelectObject(pOldBitmap3);pMemDC4.SelectObject(pOldBitmap4); }}
查看完整描述

3 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

加上1==bkMap是對的,這樣處理比較安全。
不知道你創建的地方在哪,不好確定1==bkMap是否可以去掉。
一般來說,如果你是模態對話框,去掉應該是可以的,如果是非模態,那么在反復調用是可能會報錯。
這里是一個MFC的邏輯問題,因為OnDestroy銷毀的是窗口而不是類,而Dialog作為一個“窗口類”,OnDestroy被混淆了。銷毀類的函數是類析構函數。

查看完整回答
反對 回復 2019-03-20
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

改成下面這樣試試
void CJune22_tooltestDlg::OnDestroy()
{
if (1==bkMap)
{
bkMap=0;
pMemDC.SelectObject(pOldBitmap);
pMemDC2.SelectObject(pOldBitmap2);
pMemDC3.SelectObject(pOldBitmap3);
pMemDC4.SelectObject(pOldBitmap4);
}

CDialogEx::OnDestroy();
// TODO: Add your message handler code here
}



查看完整回答
反對 回復 2019-03-20
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

(1==bkMap)為真
{
bkMap=0;
pMemDC.SelectObject(pOldBitmap);
pMemDC2.SelectObject(pOldBitmap2);
pMemDC3.SelectObject(pOldBitmap3);
pMemDC4.SelectObject(pOldBitmap4);
}
才能執行,可能是只有(1==bkMap)為真時里面的各個值才有效。



查看完整回答
反對 回復 2019-03-20
  • 3 回答
  • 0 關注
  • 1251 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號