当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

CB非可视组件的消息处理本领[VC/C++编程]

赞助商链接



  本文“CB非可视组件的消息处理本领[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

一个非可视的组件必须对Windows操作系统或用户定义的消息作出呼应.但是,由于一个非可视组件没有窗口,因此它也没有窗口句柄,自然它也不能接纳到消息,为了办理这一问题,我们的思绪是成立一个躲藏的窗口,使非可视组件可以接纳到消息.

为了给你的非可视组件成立一个躲藏的窗口,需求有以下:

1.一个私有变量型(Private Variable)的HWnd来获得窗口句柄.

2.一个用来捕捉窗口发送给组件的函数(a WndProc).

3.对AllcolateHwnd的调用使之成立窗口句柄并设置WndProc.

为了清楚的注释上述思绪和展示成立历程,下面我们将以一个具体的实例来阐明.

首先我们先成立一个新的组件,在C++ Builder中,挑选FILE|NEW…双击组件图标显示一个新的组件对话框改变Ancestor Type为Tcomponent和Class name为Ttest并设置完毕.

然后,切换到新组件的头文件,在类的私有部份(private section)加入以下声明:

HWnd Fhandle;

void __fastcall WndProc(Tmessage &Msg);

第一行声明了一个调用Fhandle的HWnd变量,这个变量将用于窗口成立后捕捉窗口句柄.

第二行声明了一个用于接纳消息的WndProc函数.这个函数的声明必须加以标识,以便限定它是一个WndProc,然后在类声明Public(公有)部份构造以下声明:

Viod DoIt( );
   这个公有函数将被我们用来测试组件,类声明应以下:
   class PACKAGE Ttest:public Tcomponent
    {
    private:
     HWnd Fhandle;
     void __fastcall WndProc(Tmessage &Msg);
    protected:
    public:
     __fastcall Ttest(Tcomponent *Owner);
     void DoIt( );
    __published:
    };


  以上是“CB非可视组件的消息处理本领[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • CB非可视组件的消息处理本领
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .