新增資源 menu,如 idr_menu1;
標頭檔案新增
#define wm_tray_msg wm_user+1000
cmenu m_traypopupmenu;//選單
afx_msg void onshowmenu();//顯示主程式
afx_msg void onexitmenu();//退出
bool m_btray; //托盤標記;初始元為false
bool settray(bool btray); //設定托盤效果
afx_msg lresult ontraycallbackmsg(wparam wp, lparam lp); //托盤處理函式
afx_msg void onsyscommand(uint nid, lparam lparam);修改 on_wm_syscommand() 對應的
onsyscommand 函式,對 最小化時啟動托盤 的支援
原始檔新增
//訊息響應
on_message(wm_tray_msg, &cmaindialog::ontraycallbackmsg)
on_command(id_show_menu, &cmaindialog::onshowmenu)
on_command(id_exit_menu, &cmaindialog::onexitmenu)
on_wm_syscommand()
//oninitdialog()新增
m_traypopupmenu.loadmenu(idr_menu1);
m_btray = false;
bool cmaindialog::settray(bool btray)
else
return bret;
}lresult cmaindialog::ontraycallbackmsg(wparam wparam, lparam lparam)
default:
break;
} return 0;
}void cmaindialog::onshowmenu()
void cmaindialog::onexitmenu()
void cmaindialog::onsyscommand(uint nid, lparam lparam)
} cdialogex::onsyscommand(nid, lparam);
}
執行之後,最小化視窗就會在工作列顯示托盤圖示 工作列托盤
要實現系統托盤,就要認識notifyicondata結構體,如下 typedef struct notifyicondata tchar szinfotitle 64 指向乙個以 0結束的字串的指標。字串的內容為氣球提示的標題 dword dwinfoflags 設定此成員用來給氣球提示框增加乙個圖...
製作工作列托盤選單
1 準備乙個選單資源,並匯入乙個圖示資源 用作工作列上顯示的圖示 2 在你的程式中新增兩個變數,乙個是cmenu物件m menu,乙個是notifyicondata結構體物件m notifydata,這個結構體作用是 包含系統需要的用來傳遞托盤區域訊息的資訊 具體請查詢msdn 3 自定義乙個訊息,...
NotifyIcon製作工作列托盤選單
常用軟體飛信 qq在工作列中的圖示ico,以及滑鼠移動到圖示是右鍵選單選項 1 首先製作工作列圖示 this.showintaskbar true 2 窗體最小化時或者關閉時隱藏到工作列,有時候我們會選擇程式關閉時是退出程式還是隱藏到工作列 private void form1 sizechange...