Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Komponente von RichEdit ableiten (https://www.delphipraxis.net/43243-komponente-von-richedit-ableiten.html)

3_of_8 1. Apr 2005 19:27

Re: Komponente von RichEdit ableiten
 
Ich sage eigentlich zum "Caret" auch immer Cursor, denn die Oben/Unten/Links/Rechts Tasten heißen ja auch Cursortasten und nicht Carettasten.

Pseudemys Nelsoni 2. Apr 2005 02:54

Re: Komponente von RichEdit ableiten
 
Hat nun jemand ne Idee?

Ich brauch doch nur eine komponente wo ich text markieren kann und dennoch kein caret vorhanden ist....

toms 2. Apr 2005 08:54

Re: Komponente von RichEdit ableiten
 
Zitat:

Zitat von Pseudemys Nelsoni
Hat nun jemand ne Idee?

Ich brauch doch nur eine komponente wo ich text markieren kann und dennoch kein caret vorhanden ist....

TWebbrowser

mirage228 2. Apr 2005 08:58

Re: Komponente von RichEdit ableiten
 
Hi,

ich hab grad mal nachgeschaut.

Laut EDA ist der Klassenname von dem Chat-Fenster "static".

Also ist das Ding kein RichEdit o.Ä., sonder ein normales "Label" (bzw. TStaticText) :shock:

mfG
mirage228

Pseudemys Nelsoni 2. Apr 2005 09:40

Re: Komponente von RichEdit ableiten
 
@toms: ich möchte schon sachen benutzen wofür sie gedacht sind, trotzdem danke ;)

@mirage: wie markiere ich denn text in einem label? (danke fürs nachgucken btw)

glkgereon 2. Apr 2005 09:46

Re: Komponente von RichEdit ableiten
 
also das HideCaret musst du in jedem OnChange etc. ausführen...hatte das prob auch schon

toms 2. Apr 2005 09:47

Re: Komponente von RichEdit ableiten
 
Zitat:

Zitat von Pseudemys Nelsoni
@toms: ich möchte schon sachen benutzen wofür sie gedacht sind, trotzdem danke ;)

Warum sollte der Webbrowser nicht dafuer gamcht sein?
Es ist die Ideale fertige Komponente dafuer.
Es gab schon mal einen Thread hier im Forum. Herausgekommen ist sonst auch nichts.

Pseudemys Nelsoni 2. Apr 2005 09:51

Re: Komponente von RichEdit ableiten
 
Weil dann jeder den IE installiert haben muss - Ok, das hat sowieso jeder, aber ich sehe das so das TWebBrowser ausschliesslich für HTML-Seiten gedacht ist.

Also das Label würde mir schon perfekt vorkommen, bleiben nur 2 Fragen:

1. Wie markiere ich dort Text
2. Wie füge ich da verschiedenfarbige Lines zu?

@toms: Nimms mir nicht übel, aber ich bin halt so *g*

Zitat:

also das HideCaret musst du in jedem OnChange etc. ausführen...hatte das prob auch schon
Dann geht das markieren auch nichtmehr

toms 2. Apr 2005 09:56

Re: Komponente von RichEdit ableiten
 
Zitat:

Zitat von Pseudemys Nelsoni
Weil dann jeder den IE installiert haben muss - Ok, das hat sowieso jeder, aber ich sehe das so das TWebBrowser ausschliesslich für HTML-Seiten gedacht ist.

Falsch. Im Windows werden auch einige Dialoge angezeigt, welche den Webbrowser benutzen.

Sprint 2. Apr 2005 15:42

Re: Komponente von RichEdit ableiten
 
Zitat:

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz