我现在只是要更改comctrls.pas文件里TCustomRichedit里的内容而不是增加,也不是继承。然后做成新的richedit控件。所以我需要一个只包含和richedit控件有关的代码的comctrls.pas文件。我现在对df还不太了解,希望高手指点。我想知道那些是不需要的,要改些什么地方。如果有改好的文件请发一份给我也可以。如果要分可一加。
我的E-MAIL: [email protected]

解决方案 »

  1.   

    是修改RICHEDITMODULENAME常量的由RICHED32.DLL改为RICHED20.DLL
    然后就是CREATESUBCLASS过程。
      

  2.   

    你从TcstomRichEdit继承一个新类重载CreateParams(var Params: TCreateParams)方法和CreateSubClass(var Params:CreateParams; ControlClassName: PChar);方法这两个都是protected的阿
      

  3.   

    当我继承TcstomRichEdit后,要生成新的RICHEDIT组件时是否还有重新写Trichedit和Tricheditstring,能否给个完整的代码?谢谢!!
      

  4.   

    uses
      ComCtrls;
    type
      TMyRichEdit = class(TCustomRichEdit)
      protected
        procedure CreateParams(var Params: TCreateParams);override;
        procedure CreateSubClass(var Params: TCreateParams;
          ControlClassName: PChar);
      published
        property Align;
        property Alignment;
        property Anchors;
        property BiDiMode;
        property BorderStyle;
        property BorderWidth;
        property Color;
        property Ctl3D;
        property DragCursor;
        property DragKind;
        property DragMode;
        property Enabled;
        property Font;
        property HideSelection;
        property HideScrollBars;
        property ImeMode;
        property ImeName;
        property Constraints;
        property Lines;
        property MaxLength;
        property ParentBiDiMode;
        property ParentColor;
        property ParentCtl3D;
        property ParentFont;
        property ParentShowHint;
        property PlainText;
        property PopupMenu;
        property ReadOnly;
        property ScrollBars;
        property ShowHint;
        property TabOrder;
        property TabStop default True;
        property Visible;
        property WantTabs;
        property WantReturns;
        property WordWrap;
        property OnChange;
        property OnContextPopup;
        property OnDragDrop;
        property OnDragOver;
        property OnEndDock;
        property OnEndDrag;
        property OnEnter;
        property OnExit;
        property OnKeyDown;
        property OnKeyPress;
        property OnKeyUp;
        property OnMouseDown;
        property OnMouseMove;
        property OnMouseUp;
        property OnMouseWheel;
        property OnMouseWheelDown;
        property OnMouseWheelUp;
        property OnProtectChange;
        property OnResizeRequest;
        property OnSaveClipboard;
        property OnSelectionChange;
        property OnStartDock;
        property OnStartDrag;
      end;implementation{ TMyRichEdit }procedure TMyRichEdit.CreateParams(var Params: TCreateParams);
    begin
      inherited;end;procedure TMyRichEdit.CreateSubClass(var Params: TCreateParams;
      ControlClassName: PChar);
    begin
      inherited;end;继承TCustomRichEdit,把TMyRichEdit当成TRichEdit一样用是否需要改TRichEditString取决于你是否需要修改TRichEditString如果需要的话,只需要生成一个新的TMyRichEditString类然后在TMyRichEdit里面重载Create方法,把TRichEditString.Create修改为TMyRichEditString.Create