Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Deep-Sea,
27. Nov 2007
Das ist klar.
Schau dir die Paint-Routine der GroupBox an.
Ausschnitt:
CaptionRect := Rect(0, 0, Size.cx, Size.cy);
if not UseRightToLeftAlignment then
OffsetRect(CaptionRect, 8, 0)
else
OffsetRect(CaptionRect, Width - 8 - CaptionRect.Right, 0);(Sprich: Sofern UseRightToLeftAlignment ist, beginnt die Caption bei Left = 8 und Top = 0 ...)
Darum sagte ich ya auch, eine Komponente...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Deep-Sea,
27. Nov 2007
Wenn es genau die Caption sein muss wird es etwas komplizierter, klar (grob hab ich sowas ya im letzten Post beschrieben).
Wenn es dir reicht das sich die Maus irgendwo im oberen Bereich befindet, dann ist es ya eig. ganz einfach zu lösen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Deep-Sea,
27. Nov 2007
Find' ich für das Problem eig. nicht.
Solche Methoden wie mittels Canvas.TextWidth herausfinden wie breit die Caption ist und dann sehen, ob X in dem Bereich liegt und dann auf Font.Height achten etc. finde ich als "Fusch" und zudem als sehr Fehleranfällig ...
Die einzige andere und beste Methode: Leite die ComboBox ab und schreib eine neue Komponente ...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Deep-Sea,
27. Nov 2007
Mach die Caption der GroupBox leer und verwende statt dessen ein TLabel, was du an die Stelle positionierst an der die Caption war (oder sein soll). Wenn nun das OnMouseEnter bzw. OnMouseLeave des Labels kommt, ist die Maus auf dem Label und auch nur da ...
(Tux? Ab zu Linux :P)