Autor Beitrag
lkz633
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 136

WinXP, Suse Linux 8.2 (unter VMWare)
D7 Prof, K3 Prof
BeitragVerfasst: Mi 21.04.04 19:42 
Hallo,

ich wuerde gerne einen Link in einem Richedit anzeigen.

Habe dazu folgenden Code gefunden:
www.swissdelphicente...showcode.php?id=1505

Dies benutzt diesen Code
ausblenden Delphi-Quelltext
1:
2:
SendMessage(RichEdit1.Handle, EM_SETEVENTMASK, 0, mask or ENM_LINK); 
  SendMessage(RichEdit1.Handle, EM_AUTOURLDETECT, Integer(True), 0);
, um die Links zu erzeugen.

Ich moechte jedoch nicht EM_Autodetect benutzen, sondern bestimmen, wenn ein Text in dieser Art markiert werden soll.
Ich muss also dem Text uergendwie EN_LINK mitgeben, aber wie?

Waere ueber Hilfe dankbar

Gruss
lkz633
Tana´Ri
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 230



BeitragVerfasst: Do 22.04.04 11:49 
Hi

eine andere Möglichkeit (neben der per Message) wäre mit Enter & Leave Ereignissen:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
// -------------------------------------------------------------------------- //

 Type
   
    TNotifyEventMsg = procedure (Sender: TObject; Msg: TMessage ) of object;

    TMyRichEdit = class (TRichEdit)

     Private

      FOnMouseLeave  : TNotifyEventMsg;
      FOnMouseEnter  : TNotifyEventMsg;

      procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
      procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;

    Public

      property OnMouseEnter   : TNotifyEventMsg read FOnMouseEnter write FOnMouseEnter;
      property OnMouseLeave   : TNotifyEventMsg read FOnMouseLeave write FOnMouseLeave;

end;

// -------------------------------------------------------------------------- //

 [...]

// -------------------------------------------------------------------------- //

procedure TMyRichEdit.CMMouseEnter(var Message: TMessage);
 begin
  inherited;
  if assigned(FOnMouseEnter) then FOnMouseEnter(self, Message);
end;

// -------------------------------------------------------------------------- //

procedure TMyRichEdit.CMMouseLeave(var Message: TMessage);
 begin
  inherited;
  if assigned(FOnMouseLeave) then FOnMouseLeave(self, Message);
end;

// -------------------------------------------------------------------------- //

_________________
mfg
Tana´Ri