AGB  ·  Datenschutz  ·  Impressum  







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

OnMouseOver bei Array of TPanel

Ein Thema von erik-17 · begonnen am 2. Okt 2010 · letzter Beitrag vom 2. Okt 2010
 
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#15

AW: OnMouseOver bei Array of TPanel

  Alt 2. Okt 2010, 17:50
[...]Wenn es euch nicht zu viel ist: Was soll mann bei "p.VisibilityEvent:=" einschreiben, wenn eine Variable um eins veringert werden soll.[...]
Da gibt man eine Methode an und keine Formel:
Delphi-Quellcode:
type
  TForm1 = class(TForm) // oder wie auch immer das heißt
  private
    FInVisCount: Integer; // Speichert wie viele Panels unsichtbar wurden
    procedure OnVisibility(Panel : TColoredLabel);
  //...
  end;
So irgendwo erstellst du ja deine ganzen Panels, dort trägst du jetzt für jedes Panel ein, dass die Methode "OnVisibility" da eingetragen wird:
Delphi-Quellcode:
p := TColoredPanel.Create(Self);
p.Left := ....;
[...]
p.VisibilityEvent := OnVisibility;
Und in der Methode erhöhst du Anzahl unsichtbaren Panels um eins.

Delphi-Quellcode:
procedure TForm1.OnVisibility(Panel : TColoredLabel);
begin
  Inc(FInVisCount);
end;
Damit musst du nicht ständig durch die Liste iterieren.

Das ist so ähnlich wie bei den "OnClick" von einem Button oder so: Der Button bekommt mit das er angeklickt wurde. Dann guckt er nach, ob es eine Methode gibt, die aufgerufen werden soll, wenn es angeklickt wurde und führt sie dann aus, wenn es der Fall ist.

Dabei ist "OnVisibility" die Methode die letztlich ausgeführt werden soll (die er nachguckt, ob sie gesetzt wurde). Das setzen, das diese Methode aufgerufen werden soll, das machst du beim erstellen der Liste (p.VisibilityEvent := ...) und das ganze wird in Gang gesetzt, wenn es von der Maus berührt wurde.

MfG
Fabian

PS: Kennt D3 noch keine TObjectList?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler

Geändert von xZise ( 2. Okt 2010 um 17:53 Uhr)
  Mit Zitat antworten Zitat
 


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 21:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz