P PhoenixCry Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-02 #1 比如用richedit里写一串字符,然后多次更改它的不同字符的字体后,怎么获得各个字符的字体呢?多谢了!
P PhoenixCry Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-02 #3 但是字符串的每个字符是char型,它有font属性吗?
D DreamTiger Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-02 #4 一个很蠢的方法: with RichEdit1 do for i := 1 to Length(Lines.Text) do begin SelStart := i; SelLength := 1; Font := SelAttribute.Font;//这就是你需要的 end; 但是,这种方法是非常非常慢的。我以前用过,受不了。 另一种方法就是把RichEdit1.Text保存为rtf文件,自己分析 这个文件,把font信息提取出来,也很麻烦的,但是速度应该 会比较快。
一个很蠢的方法: with RichEdit1 do for i := 1 to Length(Lines.Text) do begin SelStart := i; SelLength := 1; Font := SelAttribute.Font;//这就是你需要的 end; 但是,这种方法是非常非常慢的。我以前用过,受不了。 另一种方法就是把RichEdit1.Text保存为rtf文件,自己分析 这个文件,把font信息提取出来,也很麻烦的,但是速度应该 会比较快。
Z Zephyr Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-02 #5 在RichEdit的OnSelectionChange事件里,读取RichEdit的SelAttributes属性, 如: procedure RichEdit1SelectionChange(...) begin with RichEdit1.SelAttributes do begin FontName := Name //读取字体名称 FontSize := Size //读取字体大小 ... end; end;
在RichEdit的OnSelectionChange事件里,读取RichEdit的SelAttributes属性, 如: procedure RichEdit1SelectionChange(...) begin with RichEdit1.SelAttributes do begin FontName := Name //读取字体名称 FontSize := Size //读取字体大小 ... end; end;
Z Zephyr Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-02 #6 VCL帮助文档中有这么一句: <B> If no text is selected, SelAttributes represents the attributes of the cursor position. </B> 所以上面的代码可以达到目的,我以前就是这么做的。
VCL帮助文档中有这么一句: <B> If no text is selected, SelAttributes represents the attributes of the cursor position. </B> 所以上面的代码可以达到目的,我以前就是这么做的。