怎样不能过继承而改写CreateParam中的参数

解决方案 »

  1.   

    procedure CreateParams(var Params: TCreateParams); virtual;
    //---------------------------------------------------------
    type  TCreateParams = record
        Caption: PChar;
        Style: DWORD;
        ExStyle: DWORD;
        X, Y: Integer;
        Width, Height: Integer;
        WndParent: HWND;
        Param: Pointer
        WindowClass: TWndClass;
        WinClassName: array[0..63] of Char;  end;
    //****************************************
    以上是通过定义形成的,你可以覆盖该定义就是了。
      

  2.   

    怎样不通过继承而改写CreateParam中的参数
    谢谢两位!
    Fzgta(蝈蝈) 能否讲得详细一点,因为createparam在控件的protected域中,因此我不知道如何写
      

  3.   

    如果不用楼上2位办法,只能改vcl源代码
      

  4.   

    TForm1 = class(TForm)procedure TForm1.CreateParams(var Params:TCreateParams);
    begin
      inherited CreateParams(Params);
      if BorderStyle<>bsNone then
        Params.Style :=WS_THICKFRAME or WS_BORDER or WS_POPUP;
    end;