Popup

0

var
Menu : TMenuItem;
begin
OpenDialog1.Execute
if(OpenDialog1.FileName<>'') Then
edit1.text:=(OpenDialog1.FileName);
begin
Menu := TMenuItem.Create(Self);
Menu.Caption := edit8.text;
PopupMenu1.Items.Add(Menu);

Ten kawałek kodu dodaje do edit'a ścieżkę wybramnego pliku, a potem dodaje do
popupmenu1 nazwe z edita, a chodzi mi dokładnie o coś takiego:

var
Menu : TMenuItem;
begin
OpenDialog1.Execute
if(OpenDialog1.FileName<>'') Then
edit1.text:=(OpenDialog1.FileName);
begin
Menu := TMenuItem.Create(Self);
Menu.Caption := edit8.text;
PopupMenu1.Items.Add(Menu);

Jeżeli zostanie wybrana pozycja edit8.text z item popupmenu1 to wykonaj to:
WinExec(pchar(edit8.text), SW_SHOW);

Nie wiem czy ,mnie ktoś zrozumiał ale jeśli tak to prosze o pomoc...

0

Ten kawałek kodu dodaje do edit'a ścieżkę wybramnego pliku, a potem dodaje do
popupmenu1 nazwe z edita, a chodzi mi dokładnie o coś takiego:

nie wiem czemu tworzysz menu dynamicznie może byś najpierw utworzył item'a a potem zmienić jego nazwe na edit8.text i dajesz mu onClick

czy ty przypadkiem nie napisałeś tego samego??

0

Stwórz procedurkę do OnClick.
Do public dodaj:

procedure OnMenuClick(Sender: TObject);

Następnie:

procedure TForm1.OnMenuClick(Sender: TObject);
begin

 if Sender is TMenuItem then
    with Sender as TMenuItem do
         WinExec(PChar(Caption), SW_SHOW);

end;

I jak tworzysz Itema to przypisz zdarzenie do OnClick:

Menu.OnClick := OnMenuClick;

Jeśli gdzieś nie strzeliłem byka to powinno działać :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1