AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie kann man mit Popup
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man mit Popup

Ein Thema von bundy · begonnen am 26. Mai 2003 · letzter Beitrag vom 27. Mai 2003
Antwort Antwort
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#1

Wie kann man mit Popup

  Alt 26. Mai 2003, 14:18
Hallo ,wie kann man ein POPUP auf eine Komp. beziehen.
z.b

POPUP bei dbgrid1 dann i:=1
POPUP bei dbgrid2 dann i:=2

wie kann ich dem popup sagen oder abfragen welchen Handel es hat .
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 26. Mai 2003, 14:29
Wenn das Pop "gestartet" wird, kannst Du im Ereignis OnPopup den Sender abfragen.
Delphi-Quellcode:
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  if Sender = StringGrid1 then
    I := 1
  else if Sender = StringGrid2 then
    I := 2
  else
    I := -1;
end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von bundy
bundy

Registriert seit: 24. Mai 2003
Ort: Eisenstadt
438 Beiträge
 
Delphi 2007 Architect
 
#3
  Alt 26. Mai 2003, 15:10
Ich habe noch ein Tabsheet wo das grid drinnen liegt.
das funzt nicht mit sender.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#4
  Alt 26. Mai 2003, 16:29
Müsste aber doch eigentlich trotzdem gehen. Weil über Sender kann man die Komponente die das Popup aufgerufen hat, ja identifizieren und da isses doch egal, ob die jetz auf nem Tabsheet liegt oder sonst wo.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5
  Alt 26. Mai 2003, 17:18
Hi Leute,

nicht, dass ihr in die falsche Richtung lauft. Der Parameter Sender gibt den Sender an der das Ereignes gesendet hat. Somit ist hier der Sender vom Typ TPopupMenu und nicht die Kompo auf der das Menu liegt.

Auf deutsch sagt uns das, habt ihr mehrere Menu's die auf die gleiche Ereignisbehandlungsmethode zeigen, könnt ihr über Sender das Menu ermitteln, welches euch das Ereignis gesendet hat.

Delphi-Quellcode:
 procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
  IF TPopupMenu(Sender).Name = Menu1 then ....
  IF TPopupMenu(Sender).Name = Menu2 then ....
end;
Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#6
  Alt 26. Mai 2003, 17:24
Danke für die Berichtigung...Ich muss mir angewöhnen, das was ich schreibe auch auszuprobieren.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7
  Alt 27. Mai 2003, 08:27
Hi Stanlay,

kein Streß, als ich eure Beiträge gelesen hab bin ich auch erst mal ins schleudern gekommen und war mir gar nicht mehr sicher was nun richtig ist. Vorallem weil auch noch Sankura als Moderator in diese Kerbe haut. Kenerell kann dieses Ereignis ja "jeder" aufrufen. Dann klappt die Abfrage über TPopupMenu(Sender) natürlich nicht. Generell sollte man natürlich vorher den Sender prüfen von welchem Typ er ist!!!!!

Denn auch das müßte möglich sein:

PopupMenu1Popup(self); wobei self jeder möglich Object-Typ sein kann. Hier würde quasi nicht über die rechte Moustaste sondern aus dem Programm heraus zur Laufzeit das Ereignis aufgerufen werden.

Also Vorsicht!!!

Gruß oki
  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 03:51 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