社区
C++ Builder
帖子详情
如何编写一个控件,并为他添加新的事件
fantasylu
2003-09-06 12:09:20
第一个问题
我用ActiveX Form,我想再上面增加一个新的Events
如 OnSelectAll,
但我如何增加这个事件。
第二个问题
如果我想把ActiveX Form中的DBGrid里的onCellClick的事件放到Form上面
也就是,生成控件后,我可以再任何一个winForm中使用onCellClick这个事件
...全文
82
4
打赏
收藏
如何编写一个控件,并为他添加新的事件
第一个问题 我用ActiveX Form,我想再上面增加一个新的Events 如 OnSelectAll, 但我如何增加这个事件。 第二个问题 如果我想把ActiveX Form中的DBGrid里的onCellClick的事件放到Form上面 也就是,生成控件后,我可以再任何一个winForm中使用onCellClick这个事件
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fuzhan820
2003-09-06
打赏
举报
回复
up
heasonjiao
2003-09-06
打赏
举报
回复
1、
写一个函数myselect,然后
OnSelectAll=myselect;
2、
自己写一个类
继承winForm
然后把onCellClick定义一下
klbt
2003-09-06
打赏
举报
回复
学习。
kingcaiyao
2003-09-06
打赏
举报
回复
1.
在ActiveForm中添加一个事件需要在类型库添加,这和一般在从VCL类派生的子类中写事件不同。在类型库添加一事件,然后此事件就会有一ID,然后再为该事写一函数,在函数中激活它,我记得是FireOnChange(不敢确定,你可以再看看书)
2.如果想在Form上添加一个OnCellClick事件,那么你需重写一Form类或者用对象库(后面说明。首先,先定DBGrid的OnCellClick,因为你是想在Form上有OnCellClick事件,所以应该这样定义:
typedef void __fastcall (__closure* TCellEvent)(TObject *Sender,TColumn *Column),这和TDBGrid中对OnCellClick事件的定义有区别,然后在Form类中添加该事件:
#definw WM_CELLCLICK WM_USER+200//定义一消息来触发Form中的OnCellClick事件
class TMyForm:public TForm
{
private:
TCellEvent FOnCellClick;
public:
protected:
virtual void __fastcall WndProc(TMessage &Message);
virtual void __fastcall DoCellClick();//此虚拟函数用来触发OnCellClick事件
__published:
__property TCellEvent OnCellClick={read=FOnCellClick,write=FOnCellClick};
};
.cpp File
..........................
.....................
void __fastcall TMyForm::DoCellClick(TColumn *Column)
{
if(FOnCellEvent){
FOnCellEvent(this,Column);
}
}
void __fastcall TMyForm::WndProc(TMessage &Message)
{
if(Message.Msg==WM_CELLCLICK){
DoCellClick((TColumn*)WParam);
}
TForm::WndProc(Message);
}
如此定义之后,在Form中如果你想触发OnCellClick事件,只需发送WM_CELLCLICK消息即可,不过WM_CELLCLICK消息有一个参数,那就是当前放在Form上DBGrid中的列。
还有一个办法,就是直接用对象库,不用新建一Form类,就是在一Form中加上上述代码,然后存成对象库(单击右键,"Add to Repository")
C#为
控件
添加
事件
程序
在网上找到了这
一个
事件
的函数名是怎么用的,并且把它复制到了我的项目里。代码如下所示,然鹅直接运行没有出现效果。 private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e
c#创建自定义
控件
并给
控件
添加
事件
用户自定义
控件
是每个做winform人员都想要的,也都要去实现的,下面简单说一下,如果在自定义
控件
上面响应你的
事件
步骤如下: 1、声明
事件
的委托时肯定要的(object sender,EventArgs e)参数列表是肯定需要的 2...
MFC中动态创建
控件
以及
添加
事件
响应
放置静态
控件
时必须先建立
一个
容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需
控件
放在对话框中即可,再适当修改
控件
ID,设置
控件
属性,
一个
静态
控件
就创建好了,当对话框被显示时,其上的...
学习笔记:VB.net动态
添加
控件
数组并传递
事件
学习笔记:VB.net动态...即使可以,为每
一个
数组成员
编写
事件
也是非常麻烦的,考虑通过
一个
“中间人”来传递
事件
“中间人” 用继承的方法为Button
控件
增加一些
事件
、属性和方法 Public Class MyButton Inherits ...
c#为chart
控件
添加
MouseMove
事件
最近在做毕业设计,想为我的chart
控件
添加
一个
MouseMove
事件
,在网上找了半天没找到,最后还是自己摸索出来,放在这里分享一下,本人c#菜鸟
一个
,网上有加
事件
的,但是没有一步步教我们怎么做! 1.
编写
好你的
事件
...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章