06. maj 2003 - 08:38
Der er
12 kommentarer og 1 løsning
Arve egenskaber for forme
Er der nogen der kan fortælle mig hvorledes jeg arver egenskaber fra forme. Hvis jeg nu har en menu jeg vil til at have til at sidde på alle mine forme ? Gerne lidt udførligt... Hilsner... :)
Annonceindlæg fra Barco
sÅLEDES AT NÅR MAN oprette din THeste form så har den automatisk en pop up menu eller ligende på sig ? Jens B
Yep, Jeg vil gerne have en menu der er gennemgående for alle mine forme. (MainMenu)
Skal implm. Så ligge i basis formen ?
Øhh, Ja. Kan man ikke bare oprette en form og bruge den som skabelon ?
Prøv det her : unit Unit2; interface uses Forms, Menus, classes, Sysutils; type THesteForm = class(TForm) HesteMenu: TMainMenu; private public constructor Create(AOwner: TComponent); override; end; implementation { THesteFrom } constructor THesteForm.Create(AOwner: TComponent); Procedure AddMenuItem(AOwner : TMainMenu; const Caption: String); var aItem : TMenuItem; begin aItem := TMenuItem.Create(AOwner); aItem.Caption := Caption; AOwner.Items.Add(aItem); end; procedure AddSubMenu(AOwner : TMenuItem; Caption : String); var aItem : TMenuItem; begin aItem := TMenuItem.Create(AOwner); aItem.Caption := Caption; AOwner.Add(aItem); end; begin inherited; HesteMenu := TMainMenu.Create(Self); AddMenuItem(HesteMenu, 'Menu_1'); AddMenuItem(HesteMenu, 'Menu_2'); AddMenuItem(HesteMenu, 'Menu_3'); AddMenuItem(HesteMenu, 'Menu_4'); AddSubMenu(HesteMenu.Items[0], '1'); AddSubMenu(HesteMenu.Items[0], '2'); AddSubMenu(HesteMenu.Items[0], '3'); AddSubMenu(HesteMenu.Items[0], '4'); AddSubMenu(HesteMenu.Items[1], '1'); AddSubMenu(HesteMenu.Items[1], '2'); AddSubMenu(HesteMenu.Items[1], '3'); AddSubMenu(HesteMenu.Items[1], '4'); end; end.
Er der ikke en nemmere metode. Jeg har kun en Menu, som skal gå igen på alle mine forme ? Hilsen Jesper
Jo jo .. Du laver din form alla den her. Så Arver du fra THesteForm i stedet for Tform
Normalt står der .. type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; Det retter du til type TForm1 = class(THesteForm) private { Private declarations } public { Public declarations } end;
Opret et project lav den form du vil arve fra, og når du laver nye forms vælger du new i menuen der vil så være en fane med dit project's navn f.eks. Project1, på den fane ligger alle forms i projectet så vælger du bare den du vil arve fra og så kører det /Martin
Jo det gør så. Det er dig der ikke gør der rigtigt ! Du skal inkudere unit2 i din uses ...
Det er ikke i unit2 du skal rette, men unit1 Jens B
Det virker det sidste - Mange Tak... :)
Kurser inden for grundlæggende programmering