//遍歷任何窗體的menuitem
//用了兩個多小時
//略做修改,就可以實現其他功能,getmenuiteminfo提供的資訊足夠用了
procedure explorermenuitem(menuhandle: thandle);
varmenuindex: integer;
menucaptionarray: array[1..255] of char;
menucaptionstring: string;
iteminfo: tmenuiteminfo;
buffer: array[0..20] of char;
begin
for menuindex := 0 to getmenuitemcount(menuhandle) - 1 do begin
//something todo. here we get the caption
getmenustring(menuhandle, menuindex, @menucaptionarray, 255, mf_byposition);
menucaptionstring := menucaptionarray;
setlength(menucaptionstring,strlen(pchar(menucaptionstring)));
showmessage('menu caption: ' + menucaptionstring);
//get caption ends here.
iteminfo.cbsize := sizeof(tmenuiteminfo);
iteminfo.fmask := miim_submenu;
iteminfo.dwtypedata := buffer;
iteminfo.cch := sizeof(buffer);
getmenuiteminfo(menuhandle, menuindex, true, iteminfo);
//submenu, calls itself
if iteminfo.hsubmenu <> 0 then begin
explorermenuitem(iteminfo.hsubmenu);
end;
end;
end;
--lw549的專欄
選單項引數
引數一 選單項 引數二 mf bycommand 表明 引數一 給出了選單項的識別符號。如果mf bycommand和mf position都沒被指定,則mf bycommand為預設標誌。mf byposition 表明 引數一 給出了選單項的以零為基準的相對位置。mf disabled 表明選單...
BREW的選單項
實現幾個選單選項的顯示。brew 的訊息機制 2 case 為evt key 裡面則處理什麼按鍵被按,並進行響應處理。問題 brh bar 都可以生成,但 resource editor 不能生成 res.h。解決 1 檢查 沒錯。2 將brew sdk2.0 換成3.0 仍然如此。3 經過研究,發...
MFC自學(選單項)
一 選單的設計 選單是作為一種資源定義的,單擊 resourse view 資源檢視,在開啟的視窗裡的 menu 下就能進行視覺化編輯 二 讀取選單字串和新增操作 todo 在此新增命令處理程式 cmenu pmenu null int icout 1 操作一 讀取頂級選單名稱 pmenu cmai...