AGB  ·  Datenschutz  ·  Impressum  







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

Name einer Komponente herausfinden

Ein Thema von Logic · begonnen am 18. Aug 2004 · letzter Beitrag vom 30. Aug 2004
Antwort Antwort
Benutzerbild von Logic
Logic

Registriert seit: 28. Nov 2003
132 Beiträge
 
Delphi 7 Personal
 
#1

Name einer Komponente herausfinden

  Alt 18. Aug 2004, 19:11
Ich lasse verschiedene Bilder dynam. während der Laufzeit erzeugen.
Ich habe jedem das gleiche OnClick Event zugeordnet:

[picture.onClick:=plazieren.OnClick;]

Ich möchte aber, dass wenn ich per rechte maustaste draufklicke ein Menü kommt mit dem ich dann das Bild ausblenden lassen kann.

[picture.PopupMenu:=PopupMenu1;]

Das Ausblenden und das Menü ist auch kein Problem... nur alles was mir fehlt ist der Name des Bildes welches ich gerade angeklickt habe um es eben per visible auszublenden?

Wie kann ich es dann erfahren? Übergeben kann ich es ja dann ganz einfach mit einer TImage Variable...


wäre über Hilfe dankbar
Logic
  Mit Zitat antworten Zitat
gekmihesg
(Gast)

n/a Beiträge
 
#2

Re: Name einer Komponente herausfinden

  Alt 18. Aug 2004, 19:21
mit TImage(Sender).??? müsste man drauf zugreifen können wie auf ein ganz normales TImage
  Mit Zitat antworten Zitat
Benutzerbild von Logic
Logic

Registriert seit: 28. Nov 2003
132 Beiträge
 
Delphi 7 Personal
 
#3

Re: Name einer Komponente herausfinden

  Alt 18. Aug 2004, 19:26
Zitat von gekmihesg:
mit TImage(Sender).??? müsste man drauf zugreifen können wie auf ein ganz normales TImage
Wie kann ich den Namen der Komponente herausfinden auf die ich gerade geklickt habe, wenn die Komponente auf die ich geklickt habe keinen Quelltext hat, sondern auf eine andere procedure linkt?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Name einer Komponente herausfinden

  Alt 18. Aug 2004, 19:33
Im Klick-Ereignis wird dir doch der Sender mitgeliefert:
Delphi-Quellcode:
if (Sender as TImage).Name = 'Iamge1then
  ...;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Name einer Komponente herausfinden

  Alt 18. Aug 2004, 19:33
Moin Logic,

Du könntest bei jedem Image in der Eigenschaft Tag die Adresse eines Strings speichern, der wiederum den Namen des Bildes enthält.

Beispiel:

Delphi-Quellcode:
var
  sPicName : string = 'Name des Bildes';

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Image1.Tag := integer(sPicName);
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
  ShowMessage(string((Sender as TImage).Tag));
end;
[EDIT]
ImageClick verallgemeinert
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Logic
Logic

Registriert seit: 28. Nov 2003
132 Beiträge
 
Delphi 7 Personal
 
#6

Re: Name einer Komponente herausfinden

  Alt 18. Aug 2004, 19:42
Mhh ich weiß ja nicht wie das Image heißt.... deswegen hat das Image auch keine eigenen procedure.

Ich habe mal ein Beispiel prog gemacht. Einfach auf Button 1 klicken, und dann soll er bei rechter Maus auf ein Bild das angeklickte Bild löschen (es reicht erstmal "visible:=false") nur das kann ich wenn ich den Namen habe...
Angehängte Dateien
Dateityp: zip bild_l_schen.zip (25,3 KB, 9x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: Name einer Komponente herausfinden

  Alt 18. Aug 2004, 22:31
Die Lösung für deine Frage liegt in der Eigenschaft PopupComponent des TPopupMenu
Delphi-Quellcode:
procedure TForm1.lschen1Click(Sender: TObject);
begin
  (PopupMenu1.PopupComponent as TImage).Visible := False;
end;
So gibt er dir das Image das das PopupMenü aufgerufen hat, und was du dann damit machst is ja deine sache
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von Logic
Logic

Registriert seit: 28. Nov 2003
132 Beiträge
 
Delphi 7 Personal
 
#8

Re: Name einer Komponente herausfinden

  Alt 30. Aug 2004, 16:51
Vielen Dank! Hat geklappt


Ich habe jetzt so ein ähnliches Problem nur weiß ich nicht genau wie ich das ganze dann umschreiben muss...

Ich klicke auf ein dyn. PopupMenü Item und brauche wieder den Namen des Items ...
  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 16:24 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