Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   StringGrid über den Rand z.B. einer GroupBox hinweg anzeigen (https://www.delphipraxis.net/203867-stringgrid-ueber-den-rand-z-b-einer-groupbox-hinweg-anzeigen.html)

HolgerX 2. Apr 2020 18:09

AW: StringGrid über den Rand z.B. einer GroupBox hinweg anzeigen
 
Hmm..

Bedenkt bitte, dass sich das Grid immer nur im Rahmen 'seines' Parent befinden kann.
Wenn somit das Edit oder die Groupbox sehr weit unten auf der Form sind und das Grid auf der selbern Form oder einem anderen Container (wie Panel) liegt, welcher ebenfalls auf der Form liegt, dann dürfte das Grid sehr klein sein ;)

Mit eigener Form kann diese über die Grenze der Form 'hinausgehen' auf dem die Groupbox liegt.
Sprich das gleiche Verhalten, was ein Popup-Menu hat.

Uwe Raabe 2. Apr 2020 18:36

AW: StringGrid über den Rand z.B. einer GroupBox hinweg anzeigen
 
Zitat:

Zitat von HolgerX (Beitrag 1461107)
Mit eigener Form kann diese über die Grenze der Form 'hinausgehen' auf dem die Groupbox liegt.

In dem Fall lässt sich die Position des Forms sogar noch einfacher ermitteln:
Delphi-Quellcode:
var
  P: TPoint;
begin
  P := Edit1.ClientToScreen(Point(0, Edit1.Height));
  StringGrid1Form.Left := P.X;
  StringGrid1Form.Top := P.Y;
  StringGrid1Form.BringToFront;
end;

himitsu 2. Apr 2020 18:42

AW: StringGrid über den Rand z.B. einer GroupBox hinweg anzeigen
 
Zitat:

Zitat von norwegen60 (Beitrag 1461053)
Nein: Schade. Da es beim Pulldown einer ComboBox ja auch geht hatte ich gehofft es gäbe eine Eigenschaft

Wie bei MainMenu und PopupMenu ist dieses DropDown ein eigenes Fenster, welches über deine Form gelegt wird.
So wie es auch TPopup im FMX macht. (zur DesignTime ein Panel und wird zur Laufzeit in ein Fenster verschoben)

Aber so lange die Komponente innerhalb des Forms liegt, muß man nur einen passenden Parent und die richtige Z-Position wählen.
Innerhalb einer Komponente/Form kann aber nichts über deren Rand hinaus ragen.

HolgerX 2. Apr 2020 19:25

AW: StringGrid über den Rand z.B. einer GroupBox hinweg anzeigen
 
Hmm..

Zitat:

Zitat von Uwe Raabe (Beitrag 1461109)
Zitat:

Zitat von HolgerX (Beitrag 1461107)
Mit eigener Form kann diese über die Grenze der Form 'hinausgehen' auf dem die Groupbox liegt.

In dem Fall lässt sich die Position des Forms sogar noch einfacher ermitteln:
Delphi-Quellcode:
var
  P: TPoint;
begin
  P := Edit1.ClientToScreen(Point(0, Edit1.Height));
  StringGrid1Form.Left := P.X;
  StringGrid1Form.Top := P.Y;
  StringGrid1Form.BringToFront;
end;


So hatte ich das auch angedacht, nur mit der Erweiterung, dass das Grid nur angezeigt wird, wenn die Maus über dem Edit ist (deshalb MouseHook um das Verlassen des Edits zuverlässig zu erkennen ;) ) ansonsten würde das Grid ja immer auch alle anderen Fenster/Applikationen verdecken, wenn es OnTop ist ;)

norwegen60 2. Apr 2020 23:06

AW: StringGrid über den Rand z.B. einer GroupBox hinweg anzeigen
 
Vielen Dank. So klappt es einwandfrei


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr.
Seite 2 von 2     12   

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