打印本文 打印本文 关闭窗口 关闭窗口
组件制作之四(定制外观)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2424  更新时间:2009/4/23 18:34:08  文章录入:mintao  责任编辑:mintao
     procedure CMMouseEnter (var Message: TMessage); message CM_MOUSEENTER;

     procedure CMMouseLeave (var Message: TMessage); message CM_MOUSELEAVE;

     //当一个窗口的外观必须被画时,应用程序发送这个消息给该窗口

     procedure WMPaint (var Message: TMessage); message WM_PAINT;

     //窗体需要计算位置和尺寸时触发

     //我们用这个的目的主要是将客户区缩小三个象素,以便画组件时不会画到客户区。

  procedure WMNCCalcSize (var Message: TWMNCCalcSize); message WM_NCCALCSIZE;

   protected

   //画窗体的边框,使其看起来更美观.

     procedure drawBorder;

   public

     constructor Create (AOwner: TComponent); override;

     property Position:TPosition read getPosition;

     property Margin:byte read FMargin write setMargin default 0;

   published

    property EdgeColor:TColor read FEdgeColor write SetEdgeColor default $ff0000;

    property EnterColor:TColor read FEnterColor write SetEnterColor default $0000ff;

    //显式化父类的属性

    property Align;

    property Alignment;

    property DragCursor;

    property DragMode;

    property Enabled;

    property Color;

    property Font;

    property Lines;

    property MaxLength;

    property OEMConvert;

    property ParentFont;

    property ParentShowHint;

    property PopupMenu;

    property ReadOnly;

    property ShowHint;

    property ScrollBars;

    property TabOrder;

    property TabStop;

    property Visible;

    property WantReturns;

    property WantTabs;

    property WordWrap;

 

    property OnChange;

    property OnClick;

    property OnDblClick;

    property OnDragDrop;

    property OnDragOver;

    property OnEndDrag;

    //增加这两个事件,处理鼠标进入和离开

    property OnEnter;

    property OnExit;

    property OnKeyDown;

    property OnKeyPress;

    property OnKeyUp;

    property OnMouseDown;

    property OnMouseMove;

    property OnMouseUp;

    property OnStartDrag;

   end;

 

procedure Register;

 

implementation

 

procedure Register;

begin

  RegisterComponents(''''Samples'''', [TCoolMemo]);

end;

 

constructor TCoolMemo.Create(AOwner:TComponent);

begin

  inherited Create(Aowner);

  ControlStyle := ControlStyle - [csFramed];

  ParentFont := True;

  FEdgeColor := $ff0000;

  FEnterColor := $0000ff;

  //设定外观,平面无边形

  Ctl3D := False;

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口