如何動態製作MainMenu? |
答題得分者是:領航天使
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
各位Delphi高手、先進們:
Table1:Header Header_Caption
=====================
1 基本作業
2 表單作業
Table2:Header Footer Footer_Caption
============================
1 1 客戶資料
1 2 廠商資料
2 1 進貨作業
2 2 銷貨作業
MainMenu如下所示:
--------------------
基本作業 表單作業
客戶資料 進貨作業
廠商資料 銷貨作業
--------------------
如何利用以上二個Table在FormCreate製作MainMenu?感激不盡!!
------
~小弟淺見,參考看看~ |
Skyer
高階會員 發表:43 回覆:111 積分:120 註冊:2002-04-04 發送簡訊給我 |
我在 Help 裡的 TMainMeni->Items->TMenuItem->Add() 找到下面 Ex
您的問題應該可以從 Help 裡找到.. This example assumes that the main form of the application has a main menu with a menu item. The following code adds a separator, and the name of all forms to the menu.
var NewItem: TMenuItem; I : integer; begin { first create the separator } NewItem := TMenuItem.Create(Self); NewItem.Caption := '-'; { add the new item to the Windows menu } Windows.Add(NewItem); { now create and add a menu item for each form } for I := 0 to Screen.FormCount-1 do begin NewItem := TMenuItem.Create(Self); NewItem.Caption := Screen.Forms[I].Name; Windows.Add(NewItem); end; end;-- Skyer
------
-- Regards, Skyer |
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
假設Form上已有一MainMenu1, 但無任何MenuItem
TForm1=class(TFOrm) .. procedure MenuClick(Sender:TObjcet);//自行加一procedeure以處理動態menuitem之click public ... end; procedure TForm3.Button2Click(Sender: TObject); var m,m2:TMenuItem; begin table1.first; while not Table1.eof do begin m:=TMenuItem.Create(self); MainMenu1.Items.add(m); m.Caption:=table1.fieldbyname('Header_Caption').AsString; table2.filtered:=False; table2.filter:='Header=' QuotedStr(Table1.fieldbyname('Header').asstring); table2.filtered:=True; table2.first; while not table2.eof do begin m2:=TMenuItem.Create(self); m2.Caption:=table2.fieldbyname('Footer_Caption').AsString; m2.name:='N' table2.fieldbyname('Header').AsString table2.fieldbyname('Footer').AsString; //menuitem之name不是必要, 只為了好辨別 m.Add(m2); m2.onclick:=MenuClick; //將menu Click時之Event接向此 Table2.next; end; table1.Next; end; end; procedure TForm3.MenuClick(Sender: TObject); begin //只為Demo用, 顯示Menu Name, 你可以於此處理所有MenuClick showmessage(TComponent(Sender).name); end; |
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 各位Delphi高手、先進們: Table1:Header Header_Caption ===================== 1 基本作業 2 表單作業 Table2:Header Footer Footer_Caption ============================ 1 1 客戶資料 1 2 廠商資料 2 1 進貨作業 2 2 銷貨作業 MainMenu如下所示: -------------------- 基本作業 表單作業 客戶資料 進貨作業 廠商資料 銷貨作業 -------------------- 如何利用以上二個Table在FormCreate製作MainMenu?感激不盡!!本站有一個範例程式請先參考: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=17955 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |