procedure setnameurl(var editor:trichedit;str1,str2:string);
var
  fmt: TCharFormat2;
  fEMLine:ENLINK;
begin
  editor.SelStart:=rowid;
  editor.SelLength:=length(str1);
  fmt.cbSize := SizeOf(fmt); //
  fmt.dwMask := CFM_LINK  ;
  fmt.dwEffects := CFE_LINK;
  SendMessage(editor.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@fmt));
end;
上面的代码是设定选定部分的文字变成超链接的。下面的代码是设定选定部分变红色的。procedure setnamecol(var editor:trichedit;str1,str2:string;isme:boolean);
var
  fmt: TCharFormat2;
  fEMLine:ENLINK;
begin
  editor.SelStart:=rowid;
  editor.SelLength:=length(str1);
  fmt.cbSize := SizeOf(fmt); //
  fmt.dwMask :=  CFM_COLOR ;
  fmt.crTextColor:=clRed;
  SendMessage(editor.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@fmt));end;那么我现在想既要变红色又要变成超链接的?怎么做?我分开写不行,写在一起还是不行。
下面这个是写在一起的var
  fmt: TCharFormat2;
  fEMLine:ENLINK;
begin
  editor.SelStart:=rowid;
  editor.SelLength:=length(str1);
  fmt.cbSize := SizeOf(fmt); //
  fmt.dwMask := CFM_LINK or CFM_COLOR  ;
  fmt.dwEffects := CFE_LINK;
  fmt.crTextColor:=clRed;
  SendMessage(editor.Handle, EM_SETCHARFORMAT, SCF_SELECTION, Integer(@fmt));
end;