首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

作图背景后,使用DrawText绘制文字出错

2014-01-26 
绘制背景后,使用DrawText绘制文字出错procedure TForm1.FormPaint(Sender: TObject)varDC,Memory_DC:HDC

绘制背景后,使用DrawText绘制文字出错


procedure TForm1.FormPaint(Sender: TObject);
var
  DC,Memory_DC:HDC;
  oldbitmap:HBITMAP;
  bmp:BITMAP;
  Title:string;
  hmapBack:HBITMAP;
  nWidth,nHeight:Integer;
  clientRect:TRect;
begin
  DC :=GetDC(Handle);
  Memory_DC :=CreateCompatibleDC(DC);
  hmapBack :=LoadImage(0,'1.bmp',IMAGE_BITMAP,0,0,LR_LOADFROMFILE or LR_DEFAULTSIZE or LR_CREATEDIBSECTION);
  oldbitmap :=SelectObject(Memory_DC,hmapBack);
  GetObject(hmapBack,SizeOf(bmp),@bmp);
  //BitBlt(DC,0,0,bmp.bmWidth,bmp.bmHeight,Memory_DC,0,0,SRCCOPY);
  clientRect :=GetClientRect;
  nWidth :=clientRect.Right - clientRect.Left;
  nHeight :=clientRect.Bottom - clientRect.Top;
  StretchBlt(DC,0,0,nWidth,nHeight,Memory_DC,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
  SelectObject(Memory_DC,oldbitmap);
  DeleteDC(Memory_DC);
  ///
  ///  绘制文本
  ///
  ///
  Title :='测试图片上绘制文本';
  DrawText(DC,PWideChar(Title),length(Title),@clientRect,DT_CENTER or DT_TOP or DT_SINGLELINE);
  //TextOut(DC,100,0,PWideChar(Title),Length(Title));
  ReleaseDC(Handle,DC);
end;





使用TextOut可以正常编译,但使用DrawText提示:
[DCC Error] Unit1.pas(53): E2250 There is no overloaded version of 'DrawText' that can be called with these arguments





[解决办法]
报错时,代码框红色高亮行的 
[解决办法]
 光标的左边的那个就是错误的参数,挨个改吧

你那里的错误参数是 @clientRect 这里,把@去掉

热点排行