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

VC實(shí)現(xiàn)動(dòng)態(tài)菜單的創(chuàng)建方法

 更新時(shí)間:2014年07月16日 11:13:39   投稿:shichen2014  
這篇文章主要介紹了VC實(shí)現(xiàn)動(dòng)態(tài)菜單的創(chuàng)建方法,需要的朋友可以參考下

本文簡述了在程序不支持MFC,CMenu不可用的情況下,動(dòng)態(tài)創(chuàng)建系統(tǒng)托盤菜單的方法。由于菜單項(xiàng)是不確定的,因而就需要用 sdk 創(chuàng)建一個(gè)動(dòng)態(tài)彈出菜單。

主要實(shí)現(xiàn)代碼如下:

//------------------ code begin ----------------

//在類中定義的變量:
// 雙擊托盤圖標(biāo)時(shí)對(duì)應(yīng)的菜單項(xiàng) id.
UINT m_nDClickMenuItemId;
// 彈出菜單句柄.
m_hMenu m_hMenu;


///動(dòng)態(tài)創(chuàng)建右鍵菜單項(xiàng).
///@param item_text 菜單項(xiàng)文本字符串,以逗號(hào)分隔.
///@param dbclick_id 雙擊托盤圖標(biāo)對(duì)應(yīng)的菜單項(xiàng)id.
// 調(diào)用示例:
// create_menu("顯示/隱藏,退出", 40001);
BOOL CTrayIconMenu::create_menu(char* item_text, unsigned int dbclick_id)
{
  m_nDClickMenuItemId = dbclick_id;

  // 動(dòng)態(tài)創(chuàng)建彈出菜單
  m_hMenu = ::CreatePopupMenu();
  if (m_hMenu == NULL) {
    return 0;
  }

  int i=0;
  int msgid=40001;  // 第一項(xiàng)菜單項(xiàng)的消息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;
}


///響應(yīng)消息顯示菜單.
LRESULT CTrayIconMenu::on_msg(WPARAM wid, LPARAM event)
{
  // 一些其他處理代碼...

  POINT mouse;
  ::GetCursorPos(&mouse);

  // hWnd 為應(yīng)用程序主窗口句柄.
  if (event == WM_RBUTTONUP)  {
    ::SetForegroundWindow(hWnd);
    ::TrackPopupMenu(m_hMenu, 0, mouse.x, mouse.y, 0, hWnd, NULL);
  }
  return 1;
}

//------------------ code end ----------------

相關(guān)文章

  • VC多線程編程詳解

    VC多線程編程詳解

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

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

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

    C語言入門篇--初識(shí)結(jié)構(gòu)體

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

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

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

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

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

    C語言數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(AVL樹)實(shí)現(xiàn)方法示例

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之平衡二叉樹(AVL樹)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了C語言平衡二叉樹的相關(guān)定義與使用技巧,需要的朋友可以參考下
    2018-01-01
  • C++實(shí)現(xiàn)LeetCode(16.最近三數(shù)之和)

    C++實(shí)現(xiàn)LeetCode(16.最近三數(shù)之和)

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

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

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

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

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

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

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

最新評(píng)論