关于RichEdit和Image的问题! 我在RichEdit中输入文字,并且改变字体和字号,想在image中原样显示出来,该怎么做?请大家帮个忙!多谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 采用以下方法将RICHEDIT的内容存到IMAGE中,最终目的是得到BMP图形。既richedit-->bmp的问题。只要IMAGE的尺寸合适,可得到整个RICHEDIT的内容///////////////////////////////附:参考方法(具体的方法你仔细调试一下)uses RichEdit;procedure TForm1.Button1Click(Sender: TObject);var Range: TFormatRange; LastChar, MaxLen, LogX, LogY: Integer;begin FillChar(Range, SizeOf(TFormatRange), 0); with Image1, Range do begin LogX := GetDeviceCaps(Canvas.Handle, LOGPIXELSX); LogY := GetDeviceCaps(Canvas.Handle, LOGPIXELSY); hdc := Canvas.Handle; hdcTarget := hdc; rc.right := Image1.ClientWidth * 1440 div LogX; rc.bottom := Image1.ClientHeight * 1440 div LogY; rcPage := rc; LastChar := 0; MaxLen := GetTextLen; chrg.cpMax := -1; repeat chrg.cpMin := LastChar; LastChar := SendMessage(RichEdit1.Handle, EM_FORMATRANGE, 1, Longint(@Range)); until (LastChar >= MaxLen) or (LastChar = -1); end; SendMessage(RichEdit1.Handle, EM_FORMATRANGE, 0, 0); Image1.Refresh;end; 有没有API开发的FTP上传函数啊? 本要想花2k买FAST REPORT 4的FOR DELPHI 版本.大家有什么意见? 将输入到stringgrid里的内容转化成INI文件,然后读出ini文件。 BrushCopy和CopyRect有什么区别 dbchart的问题 DELPHI语法,送分问题。 如何使用缓存中的数据批量保存 紧急寻求dxfBrowseDirectoryDlg控件 怎样读取IE浏览过的历史记录,用一般的读文件的发发好像不行!在线等..... 如何选择数字? 动态创建控件问题。 请教高手一个问题
既richedit-->bmp的问题。
只要IMAGE的尺寸合适,可得到整个RICHEDIT的内容///////////////////////////////
附:参考方法(具体的方法你仔细调试一下)
uses RichEdit;procedure TForm1.Button1Click(Sender: TObject);
var
Range: TFormatRange;
LastChar, MaxLen, LogX, LogY: Integer;
begin
FillChar(Range, SizeOf(TFormatRange), 0);
with Image1, Range do
begin
LogX := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
LogY := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
hdc := Canvas.Handle;
hdcTarget := hdc;
rc.right := Image1.ClientWidth * 1440 div LogX;
rc.bottom := Image1.ClientHeight * 1440 div LogY;
rcPage := rc;
LastChar := 0;
MaxLen := GetTextLen;
chrg.cpMax := -1;
repeat
chrg.cpMin := LastChar;
LastChar := SendMessage(RichEdit1.Handle, EM_FORMATRANGE, 1,
Longint(@Range));
until (LastChar >= MaxLen) or (LastChar = -1);
end;
SendMessage(RichEdit1.Handle, EM_FORMATRANGE, 0, 0);
Image1.Refresh;
end;