手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi自定义部件开发(七)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

19.3.2 创建图形部件 

图形控制是一类简单的部件。因为纯图形部件从不需要得到键盘焦点,所以它没有也不要窗口句柄。包含图形控制的应用程序用户仍然可以用鼠标操作控制,但没有键盘界面。

  在本例中提供的图形部件是TShapeShape部件位于Component PaletteAdditional页。本例中的Shape部件有所不同,因此称其为TSampleShape

  创建图形部件需要下列三个步骤:

  ● 创建和注册部件

  ● 公布(publishing)继承的属性

增加图形功能

 

19.3.2.1 创建和注册部件

 

每个部件的创建都从相同的方式开始,在本例中如下:

建立名为Shapes的部件单元

TGraphicControl 继承,将新部件称为TSampleShape

Component PaletteSamples页上注册TSampleShape

 

unit Shapes

 

intertace

 

use SysUtils, WinTypes, WinProcs, Messages, Classes,

GraphicsControlsForms;

 

type

TSampleShape=class(TGraphicControl)

end;

 

implementation

 

procedure ReGISter;

begin

RegisterComponents('Samples'[TSampleShape]);

end;

 

end.

 

19.3.2.2 公布继承的属性

 

一旦决定了部件类型,就能决定在父类的protected部分声明哪些属性和事件能为用户可见。TGraphicControl已经公布了所有作为图形控制的属性,因此,只需公布响应鼠标和拖放事件的属性。

 

  type

TSampleShape=class(TGraphicControl)

published

property DragCursor;

property DragMode;

property OnDragDrop;

property OnDragOver;

property ONEndDrag;

property OnMouseDown;

property OnMouseMove;

property OnMouseup;

end;

 

这样,该Shape控制具有通过鼠标和拖放与用户交互的能力。

 

19.3.2.3 .增加图形能力

 

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!