Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Smileys, Links usw. in RichEdit (https://www.delphipraxis.net/40778-smileys-links-usw-richedit.html)

Delphi Star 20. Feb 2005 22:57


Smileys, Links usw. in RichEdit
 
Also wenn ich einen Text in das RichEdit schreibe, z.B. Bla bla bla :irgendwas: bla bla http://wasweißich.de, jetzt möchte ich das ':irgendwas:' durch ein Bild und http://wasweißich.de durch einen Link auf die Seite ersetz wird. Wie bekomme ich das hin :?:
Oder gibt es eine andere, bessere Möglichkeit als mit einem RichEdit :?:
Der Text wird aus einer Datei geladen, die sich auf meinem Webspace befindet.

Gentleman 20. Feb 2005 23:33

Re: Smileys, Links usw. in RichEdit
 
Hi!

Bilder in ein Standard-Richedit einzufügen ist glaube ich nicht möglich. Ich bin aber der Meinung schon mal etwas über eine solche Kompo gelesen zu haben. Da müsstest du mal die DP-Suche oder Google bemühen.

Das mit den Links sollte aber mit etwas Arbeit zu schaffen sein.

Wenn du weißt, an welcher stelle im Text die Links sind, dann kannst du die Stellen in Variablen abschpeichern (Wortanfang bzw.Wortende) und dann mit SelAttributes, SelStart und SelLength die Schriftfarbe ändern.

Um dann zu erkennen, ob die Maus über dem Link ist, könntest du den Code aus diesem Theart benutzen.

Ich hoffe ich konnte dir damit einen kleinen Gedankenstoß geben, ansonsten musst du noch mal fragen: :wiejetzt: :zwinker:

schuetze09 21. Feb 2005 05:36

Re: Smileys, Links usw. in RichEdit
 
Hallo,

wer suchet der findet, ich habe auch mal die Möglichkeit gesucht, in Richedit mit Links zu arbeiten, dazu habe ich folgendes gefunden, was auch sehr gut funktioniert, hier die Unit dazu:
Delphi-Quellcode:
unit RichEditURL;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Controls,
  ComCtrls, ExtCtrls, RichEdit;
 
type
  TURLClickEvent = procedure(Sender :TObject; const URL: string) of object;

  TRichEditURL = class(TRichEdit)
  private
    FOnURLClick: TURLClickEvent;
    procedure CNNotify(var Msg: TWMNotify); message CN_NOTIFY;
  protected
    procedure DoURLClick (const URL : string);
    procedure CreateWnd; override;
  published
    property OnURLClick : TURLClickEvent read FOnURLClick write FOnURLClick;
  end;

procedure Register;
 
 
implementation

procedure Register;
begin
  RegisterComponents('delphi.about.com', [TRichEditURL]);
end;


{ TRichEditURL }
procedure TRichEditURL.DoURLClick(const URL : string);
begin
  if Assigned(FOnURLClick) then OnURLClick(Self, URL);
end; (*DoURLClick*)

procedure TRichEditURL.CNNotify(var Msg: TWMNotify);
var
  p: TENLink;
  sURL: string;
begin
  if (Msg.NMHdr^.code = EN_LINK) then
  begin
   p := TENLink(Pointer(Msg.NMHdr)^);
   if (p.Msg = WM_LBUTTONDOWN) then
   begin
    try
     SendMessage(Handle, EM_EXSETSEL, 0, Longint(@(p.chrg)));
     sURL := SelText;
     DoURLClick(sURL);
    except
    end;
   end;
  end;

 inherited;
end; (*CNNotify*)

procedure TRichEditURL.CreateWnd;
var
  mask: Word;
begin
  inherited CreateWnd;

  SendMessage(Handle, EM_AUTOURLDETECT,1, 0);
  mask := SendMessage(Handle, EM_GETEVENTMASK, 0, 0);
  SendMessage(Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK);
end; (*CreateWnd*)

end. (* RichEditURL.pas *)


{
********************************************
Zarko Gajic
About.com Guide to Delphi Programming
[url]http://delphi.about.com[/url]
email: [email]delphi.guide@about.com[/email]
free newsletter: [url]http://delphi.about.com/library/blnewsletter.htm[/url]
forum: [url]http://forums.about.com/ab-delphi/start/[/url]
********************************************
}
MfG
schuetze09

toms 21. Feb 2005 06:40

Re: Smileys, Links usw. in RichEdit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das JvRichEdit von der Hier im Forum suchenJVCL kann Bilder etc. anziegen.
Siehe Screenshot in der Anlage.

Delphi Star 21. Feb 2005 13:42

Re: Smileys, Links usw. in RichEdit
 
1. @schuetze09:Danke, genau so etwas hab ich gesucht.
2. Kennt jemand eine Rich-Komponente (die wie die von JVCL Bilder anzeigen kann und) die man transparent machen kann :?:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.

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