vc將對話方塊縮小到托盤

2021-07-03 03:07:24 字數 908 閱讀 1692

一、托盤簡介 

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

二、托盤程式設計相關函式 

其實呢,把程式放到托盤上的本質就是先在托盤區繪製乙個圖示,然後把程式隱藏不見,再對托盤的圖示進行訊息處理,就可以了。 

繪製圖示以及確定圖示所傳送訊息的函式只有乙個,那就是—————— 

winshellapi bool winapi shell_notifyicon(

dword dwmessage, 

pnotifyicondata pnid); 

這個函式呢,負責向系統傳遞訊息,以新增、修改或刪除托盤區的圖示。她的返回值呢,是個布林型別的。就是說,如果返回0,那就是成仁啦,非0才成功。 

引數dwmessage 是表示這個函式的應用功能是哪一方面,是新增、刪除,還是修改圖示。如果是新增,則它的值為nim_add;刪除則是nim_delete;而修改是nim_modify。引數pnid就是具體的和程式在托盤區的圖示有關係的結構了。它的定義如下: 

typedef struct _notifyicondata notifyicondata, *pnotifyicondata; 

三、請看**

void cmydlg::totray()

lresult cmydlg::onshowtask(wparam wparam,lparam lparam)

break;

case wm_lbuttonup://單擊恢復

break;

} return 0;

}void cmydlg::onclose()

VC對話方塊最小化到托盤

1.dlg.h標頭檔案設定 1 public void settray 設定托盤 notifyicondata nid notifyicondata結構包含了系統用來處理托盤圖示的資訊 2 protected generated message map functions afx msg 2.dlg...

mfc 對話方塊程式 托盤實現

1 在標頭檔案裡面定義 訊息 define wm showtask wm user 10 在主視窗類裡面定義 乙個變數 兩個函式 a 變數 托盤結構體的變數 notifyicondata m nid b 初始化上述變數的函式 void totray void c 托盤的訊息處理函式 lresult ...

VC對話方塊小知識

一 對話方塊屬性 1.styles clip siblings 排除子視窗之間的相對區域,也就是說,當乙個特定的視窗接收到繪圖訊息時,將所有重疊視窗排除在外,只重繪指定的子視窗。styles clip children 當在父視窗內繪圖時,排除子視窗區域。2.more styles system m...