AGB  ·  Datenschutz  ·  Impressum  







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

buttons aus array identifizieren

Ein Thema von naridian · begonnen am 12. Jan 2008 · letzter Beitrag vom 12. Jan 2008
Antwort Antwort
naridian

Registriert seit: 12. Jan 2007
56 Beiträge
 
Delphi 2007 Professional
 
#1

buttons aus array identifizieren

  Alt 12. Jan 2008, 20:36
Hallo!

Ich erstelle zur Laufzeit ein Array mit Buttons (genauer gesagt ein Array mit Frames auf denen je ein Button ist) und weise ihnen allen die selbe Prozedur für das Ereignis OnClick zu. In dieser Prozedur möchte ich jetzt den Button identifizieren, der das Ereignis ausgelöst hat. Am Besten indem ich den zugehörigen Arrayindex erfahre. Wie mache ich das? Das OnClick Ereignis liefert mir ja den Sender aber damit bin ich nicht weiter gekommen.

Viele Grüße, Moritz
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: buttons aus array identifizieren

  Alt 12. Jan 2008, 20:40
du musst den Sender mit allen Buttons aus deinem Array vergleichen bis du den richtigen Button gefunden hast.
Delphi-Quellcode:
while (i < Length(deinArray)) and (deinArray[i].Button <> Sender) do
  inc(i);

if (i < Length(deinArray)) then
  showmessage('Index: ' + inttostr(i));
Besser wäre die Verwendung einer Liste.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
naridian

Registriert seit: 12. Jan 2007
56 Beiträge
 
Delphi 2007 Professional
 
#3

Re: buttons aus array identifizieren

  Alt 12. Jan 2008, 20:47
Danke! Was meinst du genau mit Verwendung einer Liste? Ich könnte statt einem Array TList benutzen. Aber wie bekomme ich dann einfacher aus dem Sender den Listenindex?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: buttons aus array identifizieren

  Alt 12. Jan 2008, 20:51
dann kannst du IndexOf der Liste verwenden wenn du nur die Buttons dort rein packst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
naridian

Registriert seit: 12. Jan 2007
56 Beiträge
 
Delphi 2007 Professional
 
#5

Re: buttons aus array identifizieren

  Alt 12. Jan 2008, 20:58
ich würde gerne auch die frames reinpacken. kann ich nicht sowas wie sender.parent machen um den zeiger auf das frame zu bekommen?. Habs versucht, klappt aber nicht (Compiler erlaubt es nicht).
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: buttons aus array identifizieren

  Alt 12. Jan 2008, 21:21
Das liegt daran das Sender ein TObject ist. Du musst also den Sender erst zur entsprechenden Klasse (TButton) casten.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

Re: buttons aus array identifizieren

  Alt 12. Jan 2008, 21:48
Wieso erstellst du nicht eine Frame mit fest dem Button drauf in der IDE zur Designzeit. Dort kannst du dann auch entsprechend dein OnClick des Buttons implementieren. Zur Laufzeit brauchst du dir doch nur noch dynamische eine Frame Instanz basteln - und diese kannst du dann doch in z.B. einer TObjectList halten. Du hast dann auch ohne Probleme Zugriff auf den jeweiligen Button.
  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 09:21 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