AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Smileys, Links usw. in RichEdit

Ein Thema von Delphi Star · begonnen am 20. Feb 2005 · letzter Beitrag vom 21. Feb 2005
Antwort Antwort
Delphi Star

Registriert seit: 4. Apr 2004
432 Beiträge
 
Delphi 2005 Personal
 
#1

Smileys, Links usw. in RichEdit

  Alt 20. Feb 2005, 23:57
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.
Real programmers code in binary
SwapIt: Punkte
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Smileys, Links usw. in RichEdit

  Alt 21. Feb 2005, 00:33
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:
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
schuetze09

Registriert seit: 3. Mär 2004
113 Beiträge
 
Delphi 2005 Architect
 
#3

Re: Smileys, Links usw. in RichEdit

  Alt 21. Feb 2005, 06:36
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
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: Smileys, Links usw. in RichEdit

  Alt 21. Feb 2005, 07:40
Das JvRichEdit von der Hier im Forum suchenJVCL kann Bilder etc. anziegen.
Siehe Screenshot in der Anlage.
Miniaturansicht angehängter Grafiken
jvrichedit_185.jpg  
Thomas
  Mit Zitat antworten Zitat
Delphi Star

Registriert seit: 4. Apr 2004
432 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Smileys, Links usw. in RichEdit

  Alt 21. Feb 2005, 14:42
1. @schuetze09anke, 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
Real programmers code in binary
SwapIt: Punkte
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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