最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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 ----------------

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


///動態(tài)創(chuàng)建右鍵菜單項.
///@param item_text 菜單項文本字符串,以逗號分隔.
///@param dbclick_id 雙擊托盤圖標(biāo)對應(yīng)的菜單項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;
}


///響應(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)文章

最新評論

安阳县| 勃利县| 毕节市| 邛崃市| 留坝县| 汽车| 甘谷县| 砚山县| 桐乡市| 运城市| 东阿县| 安义县| 连南| 湖州市| 罗平县| 绥化市| 乐东| 洛隆县| 阿图什市| 凤冈县| 荥阳市| 汉川市| 吴川市| 交城县| 云林县| 武威市| 钟祥市| 呈贡县| 治县。| 清流县| 太保市| 隆德县| 高台县| 安塞县| 井研县| 黄梅县| 莱州市| 江北区| 个旧市| 徐闻县| 周宁县|