所謂的「托盤」,在windows系統介面中,指的就是下面任務條右側,有系統時間等等的標誌的那一部分。在程式最小化或掛起時,但有不希望佔據工作列的時候,就可以把程式放到托盤區。
一 、原理
1、最小化的原理:首先要將視窗隱藏,然後 在右下角繪製圖示。
二、**實現
1、自定義訊息wm_showtask: #define wm_showtask (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()
5、恢復介面函式
在標頭檔案中定義訊息響應函式afx_msg lresult onshowtask(wparam wparam,lparam lparam) ;
//wparam接收的是圖示的id,而lparam接收的是滑鼠的行為
lresult cmydlg::onshowtask(wparam wparam,lparam lparam)
break;
case wm_lbuttondblclk://雙擊左鍵的處理
break;
default: break;
}return 0;
}6、刪除托盤圖示函式
void cmydlg::deletetray()
在MFC中怎樣將視窗最小化到托盤
外一篇 vc最小化程式到托盤 一 notifyicondata結構 notifyicondata結構包含了系統用來處理托盤圖示的資訊,它包括選擇的圖示 訊息 提示訊息 圖示對應的視窗等內容。其定義為 typedef struct notifyicondata notifyicondata,pnoti...
MFC將視窗最小化到托盤
1 在標頭檔案中自定義訊息 define wm showtask wm user 1以及宣告訊息響應函式 afx msg lresult onshowtask wparam wparam,lparam lparam 宣告乙個結構體變數 notifyicondata nid 2 在cpp檔案訊息對映中...
MFC視窗最小化到托盤
把程式放到托盤上的本質就是先在托盤區繪製乙個圖示,然後把程式隱藏不見,再對托盤的圖示進行訊息處理,就可以了。繪製圖示以及確定圖示所傳送訊息的函式只有乙個,那就是 winshellapi bool winapi shell notifyicon dword dwmessage,pnotifyicond...