AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Menü zur Laufzeit erstellen

Ein Thema von Ca3dEsnox · begonnen am 30. Apr 2006 · letzter Beitrag vom 1. Mai 2006
Antwort Antwort
Ca3dEsnox

Registriert seit: 14. Jan 2005
7 Beiträge
 
#1

Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 20:46
Tach,
ich hab folgendes Problem: In einem Programm an dem ich arbeite werden zur Laufzeit neue Menüpunkte erzeugt. Wie fange kann ich ein OnClick Ereignis bei diesen Menüpunkten abfangen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 20:54
Heinfach nach erzeugen die Event-Properties setzten.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 21:11
Zitat von mkinzler:
Heinfach nach erzeugen die Event-Properties setzten.
dabei wird es nur ein kleines problem geben:
wenn man das tut, über die einzig mir bekannte methode:
  @menuitem.OnClick := @MenuItemClick; Bekommt man leider keinen Sender mitgeliefert. Also müsste er für jedes MenuItem eine eigene Procedure anlegen -> schlecht ... aber dazu, wie man das "richtig" realisiert fällt mir leider grad nix ein ... ^^

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 21:18
Warum
Zitat:
@menuitem.OnClick := @MenuItemClick;
Ich würde es so machen:

Delphi-Quellcode:
form.menuclick( sender: TObject);
begin

end;

menuitem.onClick = menuclick;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 21:23
Zitat von mkinzler:
Ich würde es so machen
oops ... das hab ich vergessen (also das ganze in der form-klasse zu reggen)

ciao, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 21:31
Habs ausprobiert. Funktioniert!
Markus Kinzler
  Mit Zitat antworten Zitat
Ca3dEsnox

Registriert seit: 14. Jan 2005
7 Beiträge
 
#7

Re: Menü zur Laufzeit erstellen

  Alt 30. Apr 2006, 21:45
Jo funktioniert. danke.
Aber wenn ich mehrere Menuitems erstelle, die dann die gleiche prozedur aufrufen, woher weiß ich denn auf welchen eintrag geklickt wurde, um darauf reagieren zu können?
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Menü zur Laufzeit erstellen

  Alt 1. Mai 2006, 00:34
Der wird dir doch als Sender übergeben:

Delphi-Quellcode:
procedure TForm1.MenuClick (Sender: TObject);
begin
  ShowMessage ((Sender as TMenuItem).Caption);
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz