青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評(píng)論-262  文章-1  trackbacks-0
WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別?

原文鏈接 What is the difference between WM_DESTROY and WM_NCDESTROY?

在窗口銷毀時(shí)有兩個(gè)緊密關(guān)聯(lián)的 windows 消息, 就是 WM_DESTROY 和 WM_NCDESTROY. 它們有何區(qū)別?

區(qū)別就是 WM_DESTROY 消息是在窗口銷毀動(dòng)作序列中的開始被發(fā)送的, 而 WM_NCDESTROY 消息是在結(jié)尾. 這在你的窗口擁有子窗口時(shí)是個(gè)重大區(qū)別. 如果你有一個(gè)帶子窗口的父窗口, 那么消息的發(fā)送序列 (在沒有怪誕行為影響的前提下) 就像這樣:

hwnd = parent, uMsg = WM_DESTROY
hwnd = child, uMsg = WM_DESTROY
hwnd = child, uMsg = WM_NCDESTROY
hwnd = parent, uMsg = WM_NCDESTROY

注意, 父窗口是在子窗口被銷毀之前收到 WM_DESTROY 消息, 在子窗口被銷毀之后收到 WM_NCDESTROY 消息.

兩個(gè)銷毀消息, 一個(gè)在開頭, 一個(gè)在結(jié)尾, 這意味著, 對(duì)于你自己的模塊, 你可以通過處理相應(yīng)的消息來執(zhí)行清理操作. 例如, 如果有些東西必須在開頭清理, 那么你可以使用 WM_DESTROY 消息.

WM_NCDESTROY 消息是你窗口將會(huì)收到的最后一個(gè)消息 (在沒有怪誕行為影響的前提下), 因此, 這里是做 "最終清理" 的最佳場(chǎng)所. 這就是為什么我們的 new scratch 程序會(huì)一直等到 WM_NCDESTROY 銷毀它的實(shí)例變量, 才會(huì)返回.

與這兩個(gè)銷毀消息配對(duì)的, 是 WM_CREATE 和 WM_NCCREATE 這兩個(gè)類似的消息. 與 WM_NCDESTROY 是你窗口收到的最后一條消息類似, WM_NCCREATE 消息是第一條消息, 這是一個(gè)創(chuàng)建你自己的實(shí)例變量的好地方. 需要注意的是, 如果你導(dǎo)致 WM_NCCREATE 消息返回失敗, 那么所有你將收到的消息就只有 WM_NCDESTROY 了; 不會(huì)有 WM_DESTROY 消息了, 因?yàn)槟愀揪蜎]有收到相應(yīng)的 WM_CREATE 消息.

那么什么是我一直在暗示的 "怪誕行為" 呢? 下一次 (When the normal window destruction messages are thrown for a loop) 我們?cè)僬f.


posted on 2008-01-23 13:10 free2000fly 閱讀(8617) 評(píng)論(10)  編輯 收藏 引用

評(píng)論:
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-01-24 08:10 | Enoch
期待下一篇。  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-01-24 18:58 | ood
很好,明白了  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-01-30 14:55 | 天之驕子
哦。
請(qǐng)問PostNcDestroy()函數(shù)在什么時(shí)候調(diào)用呢?在響應(yīng)WM_DESTROY或者WM_NCDESTROY消息之后呢,還是什么時(shí)候?  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-01-31 11:50 | free2000fly
@天之驕子
這是 MFC 里的函數(shù), 不是一個(gè) Win32 API, 看看以下 MFC 源代碼:

// WM_NCDESTROY is the absolute LAST message sent.
void CWnd::OnNcDestroy()
{
// ...
// call special post-cleanup routine
PostNcDestroy();
}

void CWnd::PostNcDestroy()
{
// default to nothing
}

你就明白了, 作為虛函數(shù)的 PostNcDestroy 函數(shù), 可以在你的派生類里被你改寫, 做你自己的清理. 但你不能自己調(diào)用這個(gè)函數(shù), 而是由 MFC 框架在其內(nèi)部調(diào)用.
  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-09-20 17:24 | vfdff
WM_CLOSE是在窗口關(guān)閉前發(fā)送的,你還可以決定是否真的關(guān)閉窗口
WM_DESTROY是在窗口關(guān)閉過程中發(fā)送的,窗口已被移出屏幕
你的程序的錯(cuò)誤在于調(diào)用 CMDIFrameWnd::OnClose(); 后窗體已經(jīng)
被Destroy掉了,this指針指向的窗口對(duì)象已經(jīng)不存在了,所以出錯(cuò)
也就是處理順序是先處理WM_CLOSE(窗口未關(guān)閉),后處理WM_DESTROY(窗口已關(guān)閉)
CMDIFrameWnd::OnClose();后的部分不執(zhí)行,如需要執(zhí)行,可放到OnDestroy()中  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-09-22 08:28 | free2000fly
@vfdff
你可看明白了, 我抄的是 mfc 的源代碼, 沒出錯(cuò). 你說的沒錯(cuò), 但說話的對(duì)象錯(cuò)了.  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2008-10-07 00:10 | vfdff
@free2000fly
但說話的對(duì)象錯(cuò)了.???  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2011-03-22 09:23 | 馮繡慧
大師:
請(qǐng)求您的指教。
我發(fā)調(diào)用了DestroyWindow(hwnd);函數(shù)之后為什么我在過程函數(shù)里面收不到WM_DESTROY消息,只能收到WM_NCDESTROY消息。
請(qǐng)加我QQ,望告之。  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2011-03-22 09:25 | 馮繡慧
QQ:582528935  回復(fù)  更多評(píng)論
  
# re: WM_DESTROY 和 WM_NCDESTROY 消息之間有什么區(qū)別? (譯) 2011-03-26 10:33 | free
@馮繡慧
在哪里調(diào)用 DestroyWindow(hwnd); 的?
http://blogs.msdn.com/oldnewthing/archive/2005/07/27/443824.aspx

  回復(fù)  更多評(píng)論
  

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美国产成人在线| 免费永久网站黄欧美| 午夜综合激情| 亚洲免费影视| 久久黄色小说| 久色成人在线| 亚洲二区视频| 欧美激情国产日韩精品一区18| 久久精选视频| 欧美成人综合一区| 一二美女精品欧洲| 欧美自拍偷拍| 日韩天堂在线视频| 欧美高清一区二区| 亚洲综合日本| 久久精品国产99国产精品| 久久国产精品免费一区| 久久性色av| 欧美日韩国产系列| 国产一二精品视频| 亚洲美女性视频| 久久久国产一区二区| 亚洲国产一区二区在线| 亚洲一区二区黄色| 欧美成人自拍视频| 国产区日韩欧美| 99re8这里有精品热视频免费| 午夜久久影院| 亚洲精品久久久久久下一站| 欧美一级久久| 欧美日韩性视频在线| 在线精品视频一区二区三四| 亚洲一级高清| 亚洲高清视频一区二区| 小处雏高清一区二区三区| 欧美日韩精品在线播放| 亚洲国产精品小视频| 久久久蜜桃一区二区人| 日韩视频在线一区二区| 久久露脸国产精品| 国产精品资源| 亚洲一区二区三区精品在线观看 | 亚洲高清中文字幕| 亚洲欧美中文日韩v在线观看| 欧美α欧美αv大片| 午夜免费在线观看精品视频| 欧美日韩国产一区二区三区| 亚洲国产精品传媒在线观看| 久久久av水蜜桃| 亚洲欧美日韩国产成人| 国产精品成人免费| 亚洲精品一区在线观看| 久久亚洲国产精品日日av夜夜| 在线亚洲免费| 欧美视频在线一区二区三区| 日韩亚洲欧美精品| 亚洲日本中文字幕| 欧美精品日韩综合在线| 日韩视频免费| 日韩视频在线观看免费| 欧美国产三区| 一区二区三区www| 亚洲美女在线看| 国产亚洲高清视频| 亚洲精品影院在线观看| 欧美成人蜜桃| 噜噜噜久久亚洲精品国产品小说| 精品成人久久| 欧美国产精品专区| 欧美精品在线观看91| 国产精品99久久不卡二区| 亚洲乱码国产乱码精品精天堂| 欧美日韩精品免费观看视频完整 | 亚洲韩日在线| 亚洲国产一区在线| 欧美午夜视频网站| 久久精品国产96久久久香蕉| 久久久国际精品| 亚洲人午夜精品免费| 日韩午夜av电影| 国产精品嫩草99av在线| 久久精品视频在线播放| 久久野战av| 亚洲视频在线二区| 欧美影院成人| 日韩午夜av在线| 一本色道久久综合亚洲精品高清| 国产精品美女一区二区| 久久―日本道色综合久久| 欧美高潮视频| 久久激情综合| 欧美美女bbbb| 欧美中文字幕第一页| 免费91麻豆精品国产自产在线观看| 一本色道久久综合亚洲精品小说 | 亚洲欧美一级二级三级| 亚洲大胆女人| 在线视频亚洲| 亚洲国产欧美日韩精品| 制服诱惑一区二区| 亚洲国产二区| 亚洲自拍另类| 9久re热视频在线精品| 欧美一区二区在线看| 99视频精品在线| 久久男人av资源网站| 亚洲欧美日本精品| 欧美freesex8一10精品| 欧美一区二区三区在线观看视频 | 国产日韩欧美视频| 91久久精品国产91性色| 国产一区二区三区久久精品| 99精品福利视频| 91久久精品国产91性色tv| 午夜宅男欧美| 午夜久久久久| 国产精品mv在线观看| 亚洲第一在线综合在线| 国内精品久久久久久影视8| 亚洲一区成人| 美女日韩在线中文字幕| 亚洲精品国产精品国产自| 亚洲一区二区黄色| 亚洲一区二区三区三| 欧美激情精品久久久| 欧美国产第二页| 尤物视频一区二区| 久久国产99| 久久久久久久精| 国际精品欧美精品| 欧美在线观看视频一区二区| 性xx色xx综合久久久xx| 国产精品青草综合久久久久99| 亚洲日本一区二区三区| 日韩一区二区精品葵司在线| 蜜臀av国产精品久久久久| 欧美不卡激情三级在线观看| 伊人久久av导航| 久久影视三级福利片| 免费在线播放第一区高清av| 亚洲高清视频的网址| 免费视频亚洲| 亚洲精品在线电影| 亚洲欧美国产精品专区久久| 国产精品久久久久久五月尺| 亚洲综合激情| 久久一区二区三区国产精品| 黄色一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 麻豆久久精品| 99热这里只有精品8| 国产精品高清在线观看| 午夜国产不卡在线观看视频| 久久精品成人欧美大片古装| 国产欧美日韩综合一区在线观看 | 亚洲激情第一区| 999亚洲国产精| 国产精品日韩精品欧美精品| 欧美尤物一区| 亚洲缚视频在线观看| 在线亚洲欧美视频| 国产精品三区www17con| 欧美一级一区| 亚洲高清激情| 欧美一区二区黄| 亚洲黄网站黄| 国产精品国产亚洲精品看不卡15| 欧美一区二区三区日韩| 亚洲高清视频在线| 午夜视频一区在线观看| 亚洲大片在线观看| 国产精品久久久91| 久久免费视频观看| 日韩天堂在线视频| 免费观看成人www动漫视频| 妖精成人www高清在线观看| 国产一区观看| 欧美日韩中文另类| 久久一综合视频| 亚洲午夜久久久| 欧美激情视频给我| 久久久久免费| 亚洲一区二区三区高清| 精品96久久久久久中文字幕无| 欧美日韩国产成人精品| 久久免费高清| 香蕉久久一区二区不卡无毒影院| 欧美激情一级片一区二区| 亚洲韩国日本中文字幕| 亚洲午夜视频| 亚洲国产一区视频| 国产麻豆精品在线观看| 欧美激情亚洲精品| 久久久五月天| 午夜欧美大片免费观看| 夜色激情一区二区| 亚洲国产免费| 免费日韩av电影| 久久男人资源视频| 久久精品理论片|