討論區快速選單
知識庫快速選單
討論區最近新進100則主題 程式設計俱樂部Facebook粉絲團
[ 回上頁 ] [ 討論區發言規則 ]
請問一個 動態 menu的問題
更改我的閱讀文章字型大小
作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/3/14 下午 02:36:13
請問大大:

我在使用 動態 Menu 有發生一個問題,就是修改後,就收不到 messages 了,請問這個程式那裡出錯謝謝

CString Symbol = L"ABC";
CMenu m_Menu1;

m_Menu1.LoadMenu(IDR_MENU1);

CMenu *m_SubMemu1;

m_SubMenu1 = m_Menu1.GetSubMenu(0);

CString strMenuString;
strMenuString;.Format(L"%s", Symbol));

如果我用 m_SubMenu6Stock->AppendMenu(MF_STRING, ID_STOCKVIEW_ADDS, (LPCTSTR)strMenuString);
可以正常收到 event ;

如果我用 bChange = m_SubMenu1->ModifyMenu(0, MF_BYPOSITION | MF_STRING, 0, (LPCTSTR)strMenuString);

就收不到 enent ;

請問要如何使用ModifyMenu 來修改 menu的文字,後又可以正常的收到 event ;
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4945 | 人氣 9172 | 評價 32290 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人kuolung註記此篇回應為很有道理 2016/3/15 下午 10:53:58
你的敘述無法知道問題在哪裡. 要動態修改 menu, 最好的就是在 ON_UPDATE_COMMAND_UI. 其它的做法有時要看你是 SDI 還是 MDI. MainFrame 有它自己的 menu, 而每個 MDI doc template (CMultiDoctemplate 物件) 都有它自己的 menu.

在 MDI 的架構下, 如果沒有 view, MainFrame 會顯示它自己的 menu, 如果有 view, MainFrame 會顯示目前 active view 所屬的 menu.


作者 : kuolung(kuolung)
[ 貼文 151 | 人氣 1414 | 評價 130 | 評價/貼文 0.86 | 送出評價 39 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2016/3/16 下午 05:28:31

果然一語道中問題的原因了,
因為我是用 MDI 的 CVIEW 類別來抓 GetMenu() 所以會有問題,
這時只要改一下,

加一個 GetParent()->GetMenu() 就可以用了

不過,我還想請教我看別人的網路文章,修改 Menu 後都要加一個

menu.Detach();// 這喓enu對象作為一個局部對象。使用Detach()從menu對象中分離窗口菜單句柄,從而當menu對象析構的時候窗口菜單資源不隨之銷毀。

我的程式中沒有用,不知道這個會有影響
 板主 : 青衫 , Raymond
 > Visual C++ - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Visual C++ - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Visual C++
1 青衫 11070 
2 Raymond 10090 
3 Clier 7630 
4 小約翰 2500 
5 Cog 2030 
6 coco 1870 
7 aming 1410 
8 牧童哥 1400 
9 r2109 1380 
10 Akira 1350 
Visual C++
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.125