AGB  ·  Datenschutz  ·  Impressum  







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

Unsichtbares Label

Ein Thema von 150gozilla · begonnen am 25. Okt 2006 · letzter Beitrag vom 25. Okt 2006
Antwort Antwort
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#1

Unsichtbares Label

  Alt 25. Okt 2006, 12:14
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;
Chris
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#2

Re: Unsichtbares Label

  Alt 25. Okt 2006, 12:25
ERLEDIGT. Das exit hat alles kaputt gemacht. Nun gehts

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;
Chris
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Unsichtbares Label

  Alt 25. Okt 2006, 12:37
Oder etwas einfacher und IMHO lesbarer:
Delphi-Quellcode:
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;
Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Unsichtbares Label

  Alt 25. Okt 2006, 12:37
Zitat von 150gozilla:
 If ((x < left) or (x > Left+Width)) or ((y < top) or (y > Top+Height)) then else visible := true;

Delphi-Quellcode:
If not ((x < left) or (x > Left+Width)) or ((y < top) or (y > Top+Height)) then
  visible := true;
Schaut vielleicht besser aus.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Unsichtbares Label

  Alt 25. Okt 2006, 12:39
Wenn du aus der Schleife aussteigen willst benutze Break, nicht Exit;
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  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 12:23 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