Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#20

Re: Komponente von RichEdit ableiten

  Alt 2. Apr 2005, 16:42
Zitat von Pseudemys Nelsoni:
@Sprint: HideCaret/DestroyCaret funktionieren nicht (schon getestet), Das Caret bleibt immer da.
Wie wende ich denn DestroyCaret auf mein RIchedit an? irgendwie erwartet das ding keine parameter.
Vielleicht solltest du dir mal die Beschreibung und besonders die Beispiele zu HideCaret durchlesen.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

  TMyRichEdit = class(TRichEdit)
  private
    OldWndProc: TWndMethod;
    procedure NewWndProc(var Message: TMessage);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyRichEdit }

constructor TMyRichEdit.Create(AOwner: TComponent);
begin
  inherited;
  OldWndProc := Self.WindowProc;
  Self.WindowProc := NewWndProc;
end;

destructor TMyRichEdit.Destroy;
begin
  Self.WindowProc := OldWndProc;
  inherited;
end;

procedure TMyRichEdit.NewWndProc(var Message: TMessage);
begin
  if Message.Msg <> WM_PAINT then
    HideCaret(Self.Handle);
  OldWndProc(Message);
end;

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  with TMyRichEdit.Create(Self) do
  begin
    Parent := Self;
    Align := alClient;
  end;
end;

end.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat