//TG:呵,我又来啦,看来你这两百分我拿不到是不甘心啦
//我有一个想法,不过不知行不,我机子里没有word,我给你代码,你自己试试
//我的想法是,word的编辑窗口也是用riched20.dll作的,那么我么可以用打印
//TRichEdit控件的方法来打印word的文档窗口,嘿,当然我们打印的画布是不
//是打印机的画布,是我们自定义的图片的画布,这样我们就能取得没有背景
//的文档部分
procedure GetWordImage(word ; Handle; Img ; timage);
var
Range : TFormatRange;
LastChar, MaxLen, LogX, LogY: Integer;
begin
FillChar(Range, SizeOf(TFormatRange), 0);
with Img, Range do begin
LogX := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
LogY := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
hdc := Canvas.Handle;
hdcTarget := hdc;
rc.right := Img.ClientWidth * 1440 div LogX;
rc.bottom := Img.ClientHeight * 1440 div LogY;
rcPage := rc;
LastChar := 0;
MaxLen := GetTextLen;
chrg.cpMax := -1;
repeat
chrg.cpMin := LastChar;
LastChar := SendMessage(word, EM_FORMATRANGE, 1,Longint(@Range));
until (LastChar >= MaxLen) or (LastChar = -1);
end;
SendMessage(RichEdit1.Handle, EM_FORMATRANGE, 0, 0);
Img.Refresh;
end;
//哈,你看看吧,我也不知道,还没试过