![]() |
Unsichtbares Label
Hallo @all.
Ich muss gerade rausfinden, ob ich mit der Maus auf einen "Unsichtbares Label" geklickt habe. Wie könnte ich das am sinnvollsten lösen, meins sieht gerade so aus:
Delphi-Quellcode:
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftstate; x, y: Integer); var Control : TControl; i: integer; begin for i := 0 to TPanel(Sender).ControlCount-1 do begin with TPanel(Sender).Controls[i] do begin If (x < left) or (x > Left+Width) and (y < top) or (y > Top+Height) then exit else visible := true; // Überprüfung end; end; end; |
Re: Unsichtbares Label
ERLEDIGT. Das
Delphi-Quellcode:
hat alles kaputt gemacht. Nun gehts
exit
So siehts nun aus:
Delphi-Quellcode:
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftstate; x, y: Integer); var Control : TControl; i: integer; begin for i := 0 to TPanel(Sender).ControlCount-1 do begin with TPanel(Sender).Controls[i] do begin If ((x < left) or (x > Left+Width)) or ((y < top) or (y > Top+Height)) then else visible := true; end; end; end; |
Re: Unsichtbares Label
Oder etwas einfacher und IMHO lesbarer:
Delphi-Quellcode:
Uli.
procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var Control: TControl; i: Integer; pt: TPoint; begin pt := Point(X, Y); for i := 0 to TPanel(Sender).ControlCount - 1 do begin Control := TPanel(Sender).Controls[i]; if PtInRect(Control.BoundsRect, pt) then Control.Visible := True; end; end; |
Re: Unsichtbares Label
Zitat:
Delphi-Quellcode:
Schaut vielleicht besser aus.
If not ((x < left) or (x > Left+Width)) or ((y < top) or (y > Top+Height)) then
visible := true; Grüße Klaus |
Re: Unsichtbares Label
Wenn du aus der Schleife aussteigen willst benutze Break, nicht Exit; ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 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