• Delphi 编写Pas文件类型的组件


     一、组件的基础知识简介:

    Pas文件类型的组件,只用一个文件.Pas。组件只包括三类成员:属性、方法、事件,分属于四个部分:

    private: 所有私有的成员都放在这里,只能被类自身的方法所访问,而不能被子类访问,对子类透明。也可说只能被单元本身的方法访问。

    protected:除了可以被子类继承外,其余和private一样。不能被外界访问。

    public: 公有的,在此间声明的属性和方法能被用户调用。

    published: 出现在delphi开发环境属性栏中。

    二、制作一个简单的组件基本步骤:

    1、打开【File】->【New】->【Other】;然后选择【New】->【Component】回车。

    2、出现【New Component】选项面板,

              【Ancestor type】:选择你要继承的父类,(TComponent);

              【Class Name】:输入将要制作的组件的类名。(TShowText);

              【Palette Page】:输入或者选择组件将要安装在哪个面板上。(MyControl);

           然后点击【OK】。

          (如果点击的是【Install】就会安装在某个包里面,在此也可以新建一个包(DPK),再点【OK】)

    3、delphi自动生成了一个继承自TComponent的控件了。自动添加了注册代码:

    procedure Register;

    begin

      RegisterComponents('MyControl', [TShowText]);

    end;

    三、给组件添加属性、方法、事件:

    1、添加属性

    1>、在Private后面添加以下代码: FText : String;   

    2>、在Published后面添加以下代码:

             property Text: String read FText write FText;    //  这个Text属性会出现在delphiSDK的属性栏中

    2、添加方法:

    1>、在Public后面添加以下代码: procedure ShowText();

    2>、然后按Ctrl + Alt +C,系统自动添加了这个方法的实现代码。在里面编写代码。

    procedure TShowText.ShowText();
    begin
     ShowMessage(FText);   //Uses Dialogs;
    end;

    3、添加事件

    一个真正意义上的控件是离不开事件的,而事件的调用必须通过消息来驱动,

    1>、在Private后面添加以下代码:

             FOnStarShowText: TNotifyEvent;

             FOnEndShowText: TNotifyEvent;

    2>、在Published后面添加:

                       // 加上On仅仅表明它是事件,在事件栏中双击进入。‘On’会被自动去掉。

             Property OnStarShowText: TNotifyEvent read FOnStarShowText write FOnStarShowText;

             Property OnEndShowText: TNotifyEvent read FOnEndShowText write FOnEndShowText;

    3>、然后就可以在任意地方调用这个事件;或者根据某些消息,触发这个事件;

      例如:在上面编写的ShowText进行使用(当然,这是简单是使用方法);

    procedure TShowText.ShowText;

    begin

       if Assigned(FOnStarShowText) then FOnStarShowText(Self);

       if Assigned(FOnEndShowText) then FOnEndShowText(Self);

       ShowMessage( FText );

    end;

    四、安装自制控件的方法:

    1、在【Component】菜单中,选择【Install Component...】.

    2、在【Unit File name】 后面单击“...",选择"*.pas"控件的单元文件,再点击OK。     

    3、在出现的窗口中单击【install】,即安装完毕,新装的控件即出现在你的面板中。

     

    五、使用方法:和其他控件一样。

    1、点击【MyControl】,选择【TShowText】控件。

    2、设置属性栏【Name】为:ShowTxt1,【Text】为:测试以下;

    3、点击事件栏中的两个事件,分别添加代码:

    procedure TForm1.ShowTxt1EndShowText(Sender: TObject);

    begin

      ShowTxt1.Text :=  ShowTxt1.Text + '_ShowTxt1EndShowText' ;

    end;

    procedure TForm1.ShowTxt1StarShowText(Sender: TObject);

    begin

      ShowTxt1.Text := 'ShowTxt1StarShowText_' + ShowTxt1.Text ;

    end;

    4、在按钮的点击事件中

    procedure TForm1.btn1Click(Sender: TObject);

    begin

      ShowTxt1.ShowText;

    end;

    5、运行,然后点击按钮的事件,就会显示结果。

     

    六、Pas文件类型组件的调试

                       安装完自定义控件后,在自定义控件的Pas中修改代码,会直接影响到调用他的程序中,所以可以直接在自定义控件的Pas文件中设置断点,进入调试;

                       在自定义控件的Pas文件中,添加的新属性、事件。在应用程序中能通过代码直接调用,但是在对象监控器【Object Inspector】中不会显示,只能重新加载自定义控件,才能显示。

    Delphi 编写DLL动态链接库文件的知识和样例

    Delphi 编写ActiveX控件(OCX控件)的知识和样例

  • 相关阅读:
    《别让不会记笔记害了你》豆瓣:3.9
    《费曼学习法用输出倒逼输入》 豆瓣:6.6
    《面人麻生》豆瓣:8.8 &《哈瓦那》豆瓣:7.8
    C# 获取汉语拼音全码及简码
    SQL Server 获取汉语拼音简码
    ASP.NET 3.5中的ListView控件和DataPager控件
    Appliction_BeginRequest
    身份证验证
    取得数据库表信息的Sql语句
    Spark shuffle失败的可能原因 及解决办法
  • 原文地址:https://www.cnblogs.com/jijm123/p/12372037.html
Copyright © 2020-2023  润新知