Ich beführchte das ganze wird komplizierter als gedacht, da TGroupBox bereits ein OnClick Ereignis hat muß ich es irgendwie
schaffen das mein OnCaptionClick Ereignis zu erst greift (Voraussetzung: Anwender klickt auf die Beschriftung) und dann erst
das normale OnClick Ereignis, nur wie habe ich keine Ahnnung.
Das gleiche bzw. ein ähnnliches Problem hab ich auch mit CaptionCursor als Eigenschaft, die muß bei dem Beschriftungstext
greifen der rest der GroupBox kann oder soll auf TGroupBox.Cursor reagieren bzw. bewegt sich die Maus nicht über der Caption
wird der Mauszeiger angezeigt der in TGroupBox.Cursor eingestellt ist.
Ein weiterer Versuch ohne Erfolg irgendwie das OnCaptionClick Ereignis zu implementieren:
Delphi-Quellcode:
type
TLabeledGroupBox = class(TGroupBox)
private
{ Private-Deklarationen }
FCursor : TCursor;
FStoredCursor : TCursor;
FOnCaptionClick : TNotifyEvent;
procedure SetCursor(const Value: TCursor);
procedure CMMouseEnter(var msg: TMessage) ; message CM_MOUSEENTER;
procedure CMMouseLeave(var msg: TMessage) ; message CM_MOUSELEAVE;
procedure WMNCLBUTTONDOWN(var msg: TMessage); message WM_NCLBUTTONDOWN;
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
constructor Create(AOwner: TComponent); override;
published
{ Published-Deklarationen }
property CaptionCursor: TCursor read FCursor write SetCursor default crDefault;
property OnCaptionClick: TNotifyEvent read FOnCaptionClick write FOnCaptionClick;
end;
procedure Register;
implementation
...
procedure TLabeledGroupBox.WMNCLBUTTONDOWN(var msg: TMessage);
begin
if Assigned(FOnCaptionClick) then FOnCaptionClick(Self);
end;