10. marts 2002 - 20:54
Der er
1 kommentar og
1 løsning
PopupMenu
Hej
Jeg vil gerne danne en popupMenu dynamisk. Altså ikke tilføje menupunkterne via Object Inspectoren. Men jeg har lige et problem med at få OnClick til at virke.
Kan I give mig et eksempel på hvordan man tildeler en onClick til et item i en PopupMenu ?
10. marts 2002 - 21:10
#1
Måske skulle jeg lige give et eksempel på, hvad jeg mener. Dette er minkode til at generere et nyt item i RunTime:
NewItem:= TMenuItem.Create(Form1);
NewItem.Caption:= Form1.ListBoxAllPrg.Items.StringsForm1.ListBoxAllPrg.ItemIndex];
Form1.PopupMenu1.Items.Add(NewItem);
Nu er det så at jeg gerne vil have lavet en OnClick den det nye Item. Evt. med NewItem.Caption som input.
11. marts 2002 - 10:40
#2
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
type
TForm1 = class(TForm)
Button1: TButton;
PopupMenu1: TPopupMenu;
procedure FormCreate(Sender: TObject);
private
PopUpMenuTest : TPopUpMenu;
Procedure Test(Sender : TObject);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
Procedure TForm1.Test(Sender : TObject);
begin
ShowMessage('Klik');
end;
procedure TForm1.FormCreate(Sender: TObject);
var
MenuItem : TMenuItem;
begin
MenuItem := TMenuItem.Create(application);
MenuItem.Caption := 'Menu 1';
MenuItem.ShortCut := ShortCut(Word('O'), [ssCtrl]);
MenuItem.OnClick := Test;
PopUpMenuTest := TPopUpMenu.Create(application);
PopUpMenuTest.Items.Add(MenuItem);
form1.PopUpMenu := PopupmenuTest;
end;
end.