procedure TForm1.PaintBox1Paint(Sender: TObject);
var
  I : Integer;
begin
      for i := 0 to 99 do
  begin
      PaintBox1.Canvas.Font.Size := 12;
      PaintBox1.Canvas.TextOut(10,i * 18,'大小');
  end;
end;

解决方案 »

  1.   

    有问题,我显示就有问题,是系统问题吗,垂直滚动条要ScrollBox1.VertScrollBar.Range := 1000; ScrollBox1.hight := 241;
      

  2.   

    楼主这帖不是结了吗?怎么还有一贴?
    --
    PaintBox1.Canvas.Font.Name := '宋体'; 
      

  3.   

    这个忘记了,不过还不能结,继续问,如果把paintbox到窗体里面,那么就不会出现汉字字体错误,为什么是scrollbox会产生这个问题
      

  4.   

    实在是不知道哪个地方导致paint时字体被系统修改了。谁知道
      

  5.   

    有问题 ,往下滚动滚动条,字体会变大
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls;type
      TForm1 = class(TForm)
        ScrollBox1: TScrollBox;
        PaintBox1: TPaintBox;
        procedure FormCreate(Sender: TObject);
        procedure PaintBox1Paint(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      ScrollBox1.VertScrollBar.Range := 1000;
      ScrollBox1.Height := 241;
    end;procedure TForm1.PaintBox1Paint(Sender: TObject);
    var
      I : Integer;
    begin
      for i := 0 to 99 do
      begin
        PaintBox1.Canvas.Font.Size := 12;
        PaintBox1.Canvas.TextOut(10, i * 18, '´óС');
      end;
    end;end.