欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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多線程編程詳解

    VC多線程編程詳解

    這篇文章主要介紹了VC多線程編程,實例形式詳細分析了多線程編程的原理與實現(xiàn)方法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • 快速了解C語言靜態(tài)關鍵字static的作用

    快速了解C語言靜態(tài)關鍵字static的作用

    這篇文章主要介紹了C語言中靜態(tài)關鍵字static的作用,對大家學習C語言非常有幫助,有需求的小伙伴可以參考下
    2020-05-05
  • C語言入門篇--初識結構體

    C語言入門篇--初識結構體

    本篇文章是基礎篇,適合c語言剛入門的朋友,本文對c語言的結構體做了簡單的分析,幫助大家快速入門c語言的世界,更好的理解c語言
    2021-08-08
  • C++實現(xiàn)萬年歷小功能

    C++實現(xiàn)萬年歷小功能

    這篇文章主要為大家詳細介紹了C++實現(xiàn)萬年歷小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C語言實現(xiàn)三子棋(井字棋)算法

    C語言實現(xiàn)三子棋(井字棋)算法

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)三子棋(井字棋)算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C語言數(shù)據(jù)結構之平衡二叉樹(AVL樹)實現(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ù)之和)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(16.最近三數(shù)之和),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Qt動態(tài)庫調(diào)用宿主進程中的對象方法純虛函數(shù)使用

    Qt動態(tài)庫調(diào)用宿主進程中的對象方法純虛函數(shù)使用

    這篇文章主要為大家介紹了Qt動態(tài)庫調(diào)用宿主進程中的對象方法純虛函數(shù)使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • C/C++實現(xiàn)快速排序算法的兩種方式實例

    C/C++實現(xiàn)快速排序算法的兩種方式實例

    快速排序是一種采用分治思想,在實踐中通常運行較快一種排序算法,這篇文章主要給大家介紹了關于C/C++實現(xiàn)快速排序的兩種方式的相關資料,文中給出了詳細的示例代碼,需要的朋友可以參考下
    2021-08-08
  • C++深入了解模板的使用

    C++深入了解模板的使用

    這篇文章主要介紹了C++中模板(Template)的詳解及其作用介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06

最新評論