<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    特殊的Windows消息

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    WM_CREATE消息

           該消息是Windows發送給視圖的第一個消息。由于當應用程序框架調用Create函數時該消息就會被發送,而此時窗口創建還未完成,窗口還不可見,因此在控制函數OnCreate內部,不能調用那些依賴于窗口處于完全激活狀態的Windows函數。

           但是我們可以在被重載的OnInitialUpdate函數內調用這些函數。不過必須注意,對于SDI程序,在視圖生存期間OnInitialUpdate函數可能會被調用多次。

    注意:OnInitialUpdate函數是視圖窗口完全建立后,在調用OnDraw函數之前第一個被調用的函數,很多初始化工作可以放在這個函數里,因此很重要。

     

    WM_CLOSE消息

    當用戶從系統菜單中關閉窗口或者父窗口被關閉時,Windows都會發送WM_CLOSE消息。如果在派生視圖類中重新定義了OnClose消息映射函數,就完全可以控制關閉過程。例如:如果需要提醒用戶將變化的內容保存在文件中時,就可以將這步工作放在OnClose函數中來完成。只有在確認了關閉窗口是非常安全的情況下,才可以調用基類的OnClose函數,由它來繼續處理關閉過程。此時,視圖對象和相應的窗口仍然處于活動狀態。

    注意:當使用完整的應用程序框架結構時,也可以不使用WM_CLOSE的消息控制函數。作為應用程序框架的高度結構化的程序退出過程的一部分,我們可以通過重載CDocument::SaveModified虛函數來達到這個目的。

     

    WM_QUERYENDSESSION消息

          當用戶退出Windows時,Windows就會發送WM_QUERYENDSESSION消息給所有正在運行的應用程序,而OnQueryEndSession消息映射函數正是用來處理這一消息的。如果我們對WM_CLOSE消息函數編寫了相應的控制函數,則同樣也需要對WM_QUERYENDSESSION 消息編寫相應的控制函數。

     

    WM_DESTROY消息

          Windows在發送WM_CLOSE消息之后,緊接著就會發送WM_DESTROY消息,而OnDestroy消息映射函數正是處理這一消息的。當程序收到該消息時,它將假設此時視類已經完全消失,但仍然處于活動狀態,并且視窗的子窗口還仍然處于活動狀態。利用這個消息的控制函數,就可以在對依賴于當前窗口存在的所有東西做清除工作。不過,一定要記住,應該調用基類的OnDestroy函數,而不能在用戶自己的視圖的OnDestroy函數中“終止”窗口的析構過程,終止析構的處理應該放在OnClose函數中。

     

    WM_NCDESTROY消息

          當窗口被關閉時所發送的最后一個消息就是這個消息。由于此時所有子窗口都已經被關系,所以我們可以在OnNcDestroy函數中做一些不依賴于該窗口是否處于活動狀態的最后的處理工作,不過最好一定要調用基類中的OnNcDestroy函數。

     

    RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全