朋友,真的有这么简单吗?我已经去试验了一下,但是事实告诉我你的方案没有通过。<br>具体是这样的。我稍微做了一点点修改。关键就是你的代码不支持我所修改的特性。<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> TheFnt :TFont;<br> LogFnt :TLogFont;<br>begin<br> with Canvas do<br> begin<br> TheFnt :=TFont.Create;<br> TheFnt.Assign(paintbox1.canvas.Font);<br> GetObject(TheFnt.Handle,SizeOf(LogFnt),@LogFnt);<br> LogFnt.lfHeight :=270;<br> LogFnt.lfWidth :=80;<br> TheFnt.Handle:=CreateFontIndirect(LogFnt);<br> TheFnt.Name :='华文行楷';<br> paintbox1.canvas.Font.Assign(TheFnt);<br> TheFnt.Free;<br> paintbox1.canvas.TextOut(0,0,'卷起千堆雪');<br> end;<br>end;<br>按照程序的逻辑,应该在paintbox1的坐标0,0处绘制出高度是270点和宽度是80点的文字,<br>但遗憾的是,事实并不是这样的。它所绘制的文字是正方形的就是270x270。根本不是我所要<br>绘制的文字。<br><br>虽然没有解决问题,我还是非常高兴能看到有人肯回答我的问题。我不会少你的分数的。<br>