S
sentiment
Unregistered / Unconfirmed
GUEST, unregistred user!
我用GetTextExtentPoint32想得到一段文字的EXTENT,但是出现了一个问题,<br>就是我得到的值和用CANVAS.EXTENT得到的不一样。<br>如果EDIT1中文字为“EDIT1”的话,将显示内容为33*****24的对话框。显然,我得到的值和CANVAS.TEXTWIDTH不同<br>请问为什么?<br>代码如下<br>procedure TForm1.Button1Click(Sender: TObject);<br>Var StrTemp:String;<br> H:HDC;<br> S:TSize;<br>begin<br> StrTemp:=Edit1.Text ;<br> H:=GetDC(Edit1.Handle);<br> if GetTextExtentPoint32(H,PChar(StrTemp),Length(StrTemp),S)=True then<br> ShowMessage(IntToStr(S.cx)+'*****'+IntToStr(Canvas.TextWidth(StrTemp)))<br> else<br> ShowMessage('False');<br>end;<br><br>end.<br>