在用EHLIB中处理报表时,要动态设置printdbgrideh的beforegridtext的rich text中预设对象的文本字体大小,请问如何实现?或者谁有rich text的资料,也可以给我。一样给分!
解决方案 »
- ExpressBars的dxSideBar怎么在上面加按钮?
- 实时数据库技术中的一个压缩算法的误差计算
- 统计报表时,怎样提高Sql统计的速度——【高手请指教一下】
- dbgrid中的密码显示
- 急!!select top 1 * from 表 提示出错??!!在线等待
- 一个很小的问题,不知道各位有没有注意到?
- Delphi有哪些比较好的UML建模工具(可直接生成Delphi类代码的)?
- 如何设置qrexpr中sum求和后的格式为两位小数
- 如何用钩子模拟键盘事件
- 欢迎大家到我的论坛,速度奇快! http://delphi5.xilubbs.com/
- ********再次散分,庆贺本人升级,分少的人来拿啊(前40位有效)***********
- 请问如何用语句来使窗口最大化或者最小化?比如我要按一个BUTTON然后使窗口最大化,而不是按窗口右上角。
begin
GetFontNames;
SetupRuler;
SelectionChange(Self); CurrText.Name := DefFontData.Name;//关键,设置默认字体
CurrText.Size := -MulDiv(DefFontData.Height, 72, Screen.PixelsPerInch);//关键,设置默认字体大小
end;
看懂了没有?直接打开源码文件,修改我标注为关键的两句,重新编译安装Ehlib即可。
PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]);
//PrinterPreview.Orientation := poPortrait; // PrinterPreview.Orientation := poLandscape; //
PrintDBGridEh1.Preview;
我试了,没有呀还是改不了。我想用的就是PrintDBGridEh1.SetSubstitutes,我看过它的代码,它会查找到预先设好的字符,然后替换,不过它只表示最后的那个预设字符。另外,如果是字母,大小可以用RICH编辑器来控制,可是一放入汉字就不受控制了。 forgot(忘记forgot2000),这个方法我试过了,不大管用
我是这样做的:
CurrText.Name := '宋体';//关键,设置默认字体
CurrText.Size := -MulDiv(7, 72, Screen.PixelsPerInch);//
function TPrintDBGridEh.GridTextReplace(RichStrings: TStrings;
const SearchStr, ReplaceStr: string; StartPos, Length: Integer;
Options: TSearchTypes; ReplaceAll: Boolean): Integer;
begin
Result := -1;
with TRichEditStrings(RichStrings) do
begin
while True do
begin
Result := RichEdit.FindText(SearchStr, StartPos, Length, Options);
if Result <> -1 then
begin
RichEdit.SelStart := Result;
RichEdit.SelLength := System.Length(SearchStr);
RichEdit.SelText := ReplaceStr;
RichEdit.Font.Name:=....//在这里加上你的代码
end;
if not ReplaceAll or (Result = -1) then Break;
end;
end;
end;
RichEdit.font.size:=9;这样RICHEDIT的值全变成宋体九号了,有没有方法可以让第二行或是某一行的值变成想要的字体?