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

是否有辦法把一個popupmenu插到另一個popupmenu的某一item裡

尚未結案
JammyHsu
一般會員


發表:14
回覆:39
積分:10
註冊:2003-09-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-24 10:40:56 IP:140.128.xxx.xxx 未訂閱
我試過一行簡單的程式 pmtiSystemMan.Add(pmSystemMan.Items); 結果pmtiSystemMan下多了一個空白Item,之下才是pmSystemMan 請問,要如何消除那個多出來的空白Item呢?謝謝! PS.pmtiSystemMan是TPopupMenu(pmtiPBMS)的Item pmtiPBMS是用來做TrayIcon pmSystemMan是一個獨立的TPopupMenu 因pmSystemMan也可以在Form上面啟動 *********************** 跟寫程式一樣,想不出來!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-24 12:35:39 IP:202.39.xxx.xxx 未訂閱
http://www.lmc-mediaagentur.de/dpool/tips/0995.htm I have a menu item in a menu and would like to fill a submenu with items loaded at runtime.    
procedure TForm1.Button1Click(Sender: TObject);
var
  aItem, aSubItem: TMenuItem;
  i, j: integer;
begin
  with MenuItem1 do  {is an existing MenuItem}
  begin
    for i := 0 to 5 do
    begin
      aItem := TMenuItem.Create(MainMenu1);
      Add(aItem);
      aItem.Caption := IntToStr(i);
      for j := 0 to 5 do
      begin
        aSubItem := TMenuItem.Create(MainMenu1);
        aItem.Add(aSubItem);
        aSubItem.Caption := IntToStr(j);
        aSubItem.OnClick := MenuItemsHandler;
      end;
    end;
  end;
end;    procedure TForm1.MenuItemsHandler(Sender: TObject);
begin
  ShowMessage((Sender as TMenuItem).Caption);
end;        //Tip by Ronald van Aken
--- hagar 站直了, 別趴下!
JammyHsu
一般會員


發表:14
回覆:39
積分:10
註冊:2003-09-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-24 14:01:11 IP:140.128.xxx.xxx 未訂閱
引言: http://www.lmc-mediaagentur.de/dpool/tips/0995.htm I have a menu item in a menu and would like to fill a submenu with items loaded at runtime.
procedure TForm1.Button1Click(Sender: TObject);
var
  aItem, aSubItem: TMenuItem;
  i, j: integer;
begin
  with MenuItem1 do  {is an existing MenuItem}
  begin
    for i := 0 to 5 do
    begin
      aItem := TMenuItem.Create(MainMenu1);
      Add(aItem);
      aItem.Caption := IntToStr(i);
      for j := 0 to 5 do
      begin
        aSubItem := TMenuItem.Create(MainMenu1);
        aItem.Add(aSubItem);
        aSubItem.Caption := IntToStr(j);
        aSubItem.OnClick := MenuItemsHandler;
      end;
    end;
  end;
end;    procedure TForm1.MenuItemsHandler(Sender: TObject);
begin
  ShowMessage((Sender as TMenuItem).Caption);
end;        //Tip by Ronald van Aken
--- hagar 站直了, 別趴下!
動態新增MenuItem我知道 我也試過用迴圈 i:=0; while i<=pmSystemMan.Items.Count-1 do begin pmtiSystemMan.Add(pmSystemMan.Items.Items[i]); inc(i); end; 結果出現錯誤訊息 Menu Insert twice 而pmtiSystemMan上面什麼也沒有新增 ********************************** 做簽名檔就跟寫程式一樣,想不出來!
JammyHsu
一般會員


發表:14
回覆:39
積分:10
註冊:2003-09-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-24 14:44:11 IP:140.128.xxx.xxx 未訂閱
引言: 動態新增MenuItem我知道 我也試過用迴圈 i:=0; while i<=pmSystemMan.Items.Count-1 do begin pmtiSystemMan.Add(pmSystemMan.Items.Items[i]); inc(i); end; 結果出現錯誤訊息 Menu Insert twice 而pmtiSystemMan上面什麼也沒有新增 ********************************** 做簽名檔就跟寫程式一樣,想不出來!
我現在只能用另一種方式了, 就是刪去pmtiPBMS上原來要加入的menuitem 然後在pmtiPBMS上新增 pmtiPBMS.Items.NewBottomLine; pmtiPBMS.Items.Add(pmSystemMan.Items); pmtiPBMS.Items.Items[pmtiPBMS.Items.Count-1].Caption:='系統管理'; pmtiPBMS.Items.Items[pmtiPBMS.Items.Count-1].ImageIndex:=6; 這樣也是會有一樣我要的效果 ********************************** 做簽名檔就跟寫程式一樣,想不出來!
系統時間:2024-07-06 18:52:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!