AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie stelle ich fest ob ein Control nur halb sichtbar ist?

Wie stelle ich fest ob ein Control nur halb sichtbar ist?

Ein Thema von Der schöne Günther · begonnen am 12. Jul 2021 · letzter Beitrag vom 12. Jul 2021
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.688 Beiträge
 
Delphi 12 Athens
 
#1

AW: Wie stelle ich fest ob ein Control nur halb sichtbar ist?

  Alt 12. Jul 2021, 17:10
Geht auch etwas stylischer :
Delphi-Quellcode:
function TControlHelper.isClipped(): Boolean;
begin
   if(not Assigned(parent)) then
      Exit(False);
   Result := not Parent.ClientRect.Contains(BoundsRect);
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: Wie stelle ich fest ob ein Control nur halb sichtbar ist?

  Alt 12. Jul 2021, 17:35
Geht auch etwas stylischer :
Delphi-Quellcode:
function TControlHelper.isClipped(): Boolean;
begin
   if(not Assigned(parent)) then
      Exit(False);
   Result := not Parent.ClientRect.Contains(BoundsRect);
end;
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#3

AW: Wie stelle ich fest ob ein Control nur halb sichtbar ist?

  Alt 12. Jul 2021, 19:04
Ginge nicht auch
Delphi-Quellcode:
function TControlHelper.isClipped(): Boolean;
begin
  Result := Assigned(Parent) and Parent.ClientRect.Contains(BoundsRect);
end;
Ok, geht nicht, wenn boolsche Ausdrücke vollständig ausgewertet werden
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.400 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie stelle ich fest ob ein Control nur halb sichtbar ist?

  Alt 12. Jul 2021, 20:39
Ok, geht nicht, wenn boolsche Ausdrücke vollständig ausgewertet werden
Wer sowas macht, muß eben mit den Konsequenzen leben.


Also WENN überhaupt, dann sollte man Dieses eh nur begrenzt einsetzen.

Aber stattdessen kann man oft auch einfach mit der Reihenfolge spielen, um sowas zu beeinflussen.
VARIABLE and/or FUNKTION versus FUNKTION and/or VARIABLE
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#5

AW: Wie stelle ich fest ob ein Control nur halb sichtbar ist?

  Alt 12. Jul 2021, 20:54
Na klar, dashier wäre dann eher suboptimal Result := Parent.ClientRect.Contains(BoundsRect) and Assigned(Parent);

Oder etwas flacher formuliert:

Wenn rechts was steht, was scheitern kann, dann muss links davon was stehen, dass sicherstellt, dass das zum Scheitern verurteilte nie erreicht wird.

Oder aber auch: Assigned steht zuerst, wenn das ok ist, kann man rechts davon problemlos auf das per Assigned geprüfte zugreifen. Scheitert Assigned, kommt man dort erst garnicht an.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:50 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