procedure fitfont(frm: TControl);
begin
  TForm(frm).Font.CharSet := GetDefFontCharSet;
  TForm(frm).Font.Size := 8;
  TForm(frm).Font.Size := 9;
end;

解决方案 »

  1.   

    protected access;property font; 
      

  2.   

    我想写一个过程,能让所有支持font属性的对象作为参数,设置它的font属性是系统默认的字体名称,和字体号。用procedure fitfont(target:varient);
    还是procedure fitfont(target:tcontrol);
    ??
    另外,怎样得到系统的默认字体名称和字体号?
      

  3.   

    还有,怎样得到传来的参数target的类型呢?另外,
    procedure fitfont(frm: TControl);
    begin
      TForm(frm).Font.CharSet := GetDefFontCharSet;
      TForm(frm).Font.Size := 8;
      TForm(frm).Font.Size := 9;
    end; 
    为什么不是var frm:tcontrol ?
    这样对于frm的改变能是传来的参数本身么?
    //我用var定义fitfont的时候,这样调用的:fitfont(self);但是编译器说形参和实参类型不符。为什么呢?
      

  4.   

    //参考
      Font := Screen.MenuFont;
      Font := Screen.HintFont;
      Font := Screen.IconFont;
      

  5.   

    还有,怎样得到传来的参数target的类型呢?另外,
    procedure fitfont(frm: TControl);
    begin
      TForm(frm).Font.CharSet := GetDefFontCharSet;
      TForm(frm).Font.Size := 8;
      TForm(frm).Font.Size := 9;
    end; 
    为什么不是var frm:tcontrol ?
    这样对于frm的改变能是传来的参数本身么?
    //我用var定义fitfont的时候,这样调用的:fitfont(self);但是编译器说形参和实参类型不符。为什么呢? 
      

  6.   

    TForm1中Self是TForm1类型不是TControl类型
      

  7.   

    但是我这样定义:procedure fitfont(var frm:tform);调用的时候为什么也说类型不符合呢?
      

  8.   

    procedure fitfont(var frm:tform);
    begin
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      fitfont(TForm(Self));
    end;
      

  9.   

    TForm1 <> TForm//!!!!!!!!!!对象(对象指针)操作,没有必要用实参