線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1080
推到 Plurk!
推到 Facebook!

動態建立MDIChild表單,如何指定Windows選單MenuItem的熱鍵?

答題得分者是:william
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-29 11:43:13 IP:210.61.xxx.xxx 未訂閱
我以MDI Application Wizard建立一支程式 我想在程式執行時新增畫面 就會在下拉選單Window項目上掛一個選項 請問這事件是那裡處理?我找不到 於是我用另外的辦法 就是處理MDI Child表單的Show
procedure TfmBase.FormShow(Sender: TObject);
var
  ParentForm:TMainForm;
  mi:TMenuItem;
begin
  ParentForm:=Application.MainForm as TMainForm;
  mi:=ParentForm.MainMenu1.Items.Find('&New');
  if assigned(mi) then
    ShowMessage(ShortCutToText(mi.ShortCut));}
//    mi.ShortCut:=TextToShortCut('Ctrl N');
end;
但是使用Find MenuItem卻始終返回nil 請教我要如何才能達到在選單上加掛熱鍵功能? 謝謝各位指導
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-29 12:25:22 IP:147.8.xxx.xxx 未訂閱
I think your &New is a submenu? You may want to find it level by level. e.g. for a menu &File|&New (i.e. New menuitem under the File menu item) mi := ParentForm.MainMenu1.Items.Find('&File'); mi := mi.Find('&New');
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-29 15:17:45 IP:210.61.xxx.xxx 未訂閱
謝謝william兄 我分二階段去尋找Window選單裡的子項目, 依然是找不到. 我又換另一個方式在MainForm裡擺個timer 去Find MenuItem, 還是找不到, 可能是Win32底層處理的, VCL沒有監控到吧? 因為我去印出MenuItem.Count一直都沒改變. 苦思當中, 不知如何達到需求
系統時間:2024-05-18 22:20:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!