Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Eigene Komponente von TGroupBox ableiten

  Alt 12. Mai 2009, 09:55
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;
  Mit Zitat antworten Zitat