Thema: Delphi HideCaret

Einzelnen Beitrag anzeigen

Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

HideCaret

  Alt 3. Apr 2005, 12:06
Moin,

ich versuche gerade ein Caret in einem RichEdit zu verstecken und zwar habe ich eine Komponente abgeleitet die bis jetzt erst so aussieht:

Delphi-Quellcode:
unit pbIRCChatBox;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, StdCtrls, ComCtrls;

type
  TpbIRCChatBox = class(TRichEdit)
  private
    FHideCaret: Boolean;
    procedure OnFocus(var Msg: TMessage); message WM_SETFOCUS;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property HideCaret: Boolean read FHideCaret write FHideCaret;
  end;

procedure Register;

implementation

constructor TpbIRCChatBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FHideCaret := True;
end;

procedure TpbIRCChatBox.OnFocus(var Msg: TMessage);
begin
  inherited;
  if HideCaret then
    Windows.HideCaret(Handle);
end;

procedure Register;
begin
  RegisterComponents('PB', [TpbIRCChatBox]);
end;

end.
Nur irgendwie hat das keine Wirkung, das Caret ist immernoch da obwohl ich HideCaret aufrufe! Wenn ich das inherited weglasse ist der Caret zwar weg, aber dann wird das HideCaret auch nicht benötigt, weil der caret nie kreiert wird... aber wer weiss was im WM_SETFOCUS noch passiert als das caret zu kreieren....also muss ich das wohl benutzen oder?

Jemand ne idee?
Mario
MSN: cyanide@ccode.de