VC 實現 視窗最小化 MFC

2021-05-28 02:46:00 字數 738 閱讀 5824

所謂的「托盤」,在windows系統介面中,指的就是下面任務條右側,有系統時間等等的標誌的那一部分。在程式最小化或掛起時,但有不希望佔據工作列的時候,就可以把程式放到托盤區。

一 、原理

二、**實現

1、自定義訊息wm_showtask: #define wm_showtask (wm_user +1)  /*為了防止使用者定義的訊息id與系統的訊息id衝突,ms定義了乙個巨集wm_user,小於wm_user的id被系統使用,大於 wm_user的id被使用者使用。所以是wm_user +1 */

2、在mfc的::onsyscommand(uint nid, lparam lparam)函式體中增加乙個命令響應                       

if(nid==sc_minimize)               totray(); //最小化到托盤的函式

3、在begin_message_map(cmy2009dlg, cdialog)和end_message_map()中間中新增如下**

on_message(wm_showtask,onshowtask)

其中wm_showtask是訊息名,onshowtask是自己定義的訊息響應函式,後面有說明。

4、最小化到托盤函式

void cmydlg::totray()

6、刪除托盤圖示函式

void cmydlg::deletetray()

MFC視窗最小化到托盤

把程式放到托盤上的本質就是先在托盤區繪製乙個圖示,然後把程式隱藏不見,再對托盤的圖示進行訊息處理,就可以了。繪製圖示以及確定圖示所傳送訊息的函式只有乙個,那就是 winshellapi bool winapi shell notifyicon dword dwmessage,pnotifyicond...

MFC將視窗最小化到托盤

1 在標頭檔案中自定義訊息 define wm showtask wm user 1以及宣告訊息響應函式 afx msg lresult onshowtask wparam wparam,lparam lparam 宣告乙個結構體變數 notifyicondata nid 2 在cpp檔案訊息對映中...

MFC中將視窗最小化到托盤實現原理及操作步驟

最小化的原理 首先要將視窗隱藏,然後在右下角繪製圖示 恢復的原理 將視窗顯示,再將托盤中的刪除,接下來介紹實現方法,感興趣的朋友可以了解下啊,希望本文對你有所幫助 步驟 方法 一 原理 1 最小化的原理 首先要將視窗隱藏,然後在右下角繪製圖示。二 程式實現 1 自定義訊息wm showtask de...