VC實現(xiàn)動態(tài)菜單的創(chuàng)建方法
更新時間:2014年07月16日 11:13:39 投稿:shichen2014
這篇文章主要介紹了VC實現(xiàn)動態(tài)菜單的創(chuàng)建方法,需要的朋友可以參考下
本文簡述了在程序不支持MFC,CMenu不可用的情況下,動態(tài)創(chuàng)建系統(tǒng)托盤菜單的方法。由于菜單項是不確定的,因而就需要用 sdk 創(chuàng)建一個動態(tài)彈出菜單。
主要實現(xiàn)代碼如下:
//------------------ code begin ----------------
//在類中定義的變量:
// 雙擊托盤圖標時對應的菜單項 id.
UINT m_nDClickMenuItemId;
// 彈出菜單句柄.
m_hMenu m_hMenu;
///動態(tài)創(chuàng)建右鍵菜單項.
///@param item_text 菜單項文本字符串,以逗號分隔.
///@param dbclick_id 雙擊托盤圖標對應的菜單項id.
// 調(diào)用示例:
// create_menu("顯示/隱藏,退出", 40001);
BOOL CTrayIconMenu::create_menu(char* item_text, unsigned int dbclick_id)
{
m_nDClickMenuItemId = dbclick_id;
// 動態(tài)創(chuàng)建彈出菜單
m_hMenu = ::CreatePopupMenu();
if (m_hMenu == NULL) {
return 0;
}
int i=0;
int msgid=40001; // 第一項菜單項的消息id.
BOOL ret = 0;
char * pText = ::strtok(item_text, ",");
while( pText != NULL ) {
ret = ::AppendMenu(m_hMenu, MF_ENABLED | MF_STRING, msgid + i, pText);
pText = ::strtok( NULL, "," );
i++;
}
return 1;
}
///響應消息顯示菜單.
LRESULT CTrayIconMenu::on_msg(WPARAM wid, LPARAM event)
{
// 一些其他處理代碼...
POINT mouse;
::GetCursorPos(&mouse);
// hWnd 為應用程序主窗口句柄.
if (event == WM_RBUTTONUP) {
::SetForegroundWindow(hWnd);
::TrackPopupMenu(m_hMenu, 0, mouse.x, mouse.y, 0, hWnd, NULL);
}
return 1;
}
//------------------ code end ----------------
您可能感興趣的文章:
- VC創(chuàng)建DLL動態(tài)鏈接庫的方法
- VC創(chuàng)建進程CreateProcess的方法
- VC++創(chuàng)建msi文件的方法
- MVC 5 第一章 創(chuàng)建MVC 5 web應用程序
- c#創(chuàng)建vc可調(diào)用的com組件方法分享
- MVC后臺創(chuàng)建Json(List)前臺接受并循環(huán)讀取實例
- 解析VC中創(chuàng)建DLL,導出全局變量,函數(shù)和類的深入分析
- VC6.0如何創(chuàng)建以及調(diào)用動態(tài)鏈接庫實例詳解
- VC創(chuàng)建圓角dialog的實現(xiàn)方法
相關文章
C語言數(shù)據(jù)結構之平衡二叉樹(AVL樹)實現(xiàn)方法示例
這篇文章主要介紹了C語言數(shù)據(jù)結構之平衡二叉樹(AVL樹)實現(xiàn)方法,結合實例形式分析了C語言平衡二叉樹的相關定義與使用技巧,需要的朋友可以參考下2018-01-01
C++實現(xiàn)LeetCode(16.最近三數(shù)之和)
這篇文章主要介紹了C++實現(xiàn)LeetCode(16.最近三數(shù)之和),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-07-07
Qt動態(tài)庫調(diào)用宿主進程中的對象方法純虛函數(shù)使用
這篇文章主要為大家介紹了Qt動態(tài)庫調(diào)用宿主進程中的對象方法純虛函數(shù)使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08

