ActiveX Controls中的自定义事件

dic_008 2013-09-09 08:19:44

void FireClickIn(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord)
{FireEvent(eventidClickIn,EVENT_PARAM(VTS_XPOS_PIXELS VTS_YPOS_PIXELS), xCoord, yCoord);}



EVENT_CUSTOM("ClickIn", FireClickIn, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)


[id(1)] void ClickIn(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);


void CSampleCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
if (InCircle(point))
FireClickIn(point.x, point.y); //这里触发了这个事件?!
COleControl::OnLButtonDown(nFlags, point);
}


上面的代码是MSND中的,通过类向导添加自定义事件,自动生成的代码。
刚接触这个东西不太清楚,这个事件有什么作用? 类向导产生的内联函数好像啥都没干似的,好像也没打算让你修改,只不过传递了两个参数,这两个参数可以让这个事件干什么?
如果通过类向导添加方法,到是很明显是让你去实现过程, 还有添加的属性有什么用?给控件类添加的成员变量和这个属性有什么关系??
希望懂的牛人能一一解答下,只能被系统限制给出100。
...全文
164 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dic_008 2013-09-13
  • 打赏
  • 举报
回复
真相重于对错 2013-09-10
  • 打赏
  • 举报
回复
事件其实就是一个函数指针,它会指向调用这个组件的程序的一个函数,当达到触发事件条件时调用那个函数 这样做的好处是,比如你写一个控件,包含一个按钮,但你不知道点击按钮后应该做什么,只有这个控件的使用者知道,所以你申明一个事件,使用者来实现它。
真相重于对错 2013-09-10
  • 打赏
  • 举报
回复
接着我上边的例子,比如你是一个开发button的人员,你不知道button被点击该做什么? === 先讲这么多
dic_008 2013-09-10
  • 打赏
  • 举报
回复
气氛搞起来,别沉了。
dic_008 2013-09-10
  • 打赏
  • 举报
回复
引用 1 楼 hdt 的回复:
事件其实就是一个函数指针,它会指向调用这个组件的程序的一个函数,当达到触发事件条件时调用那个函数 这样做的好处是,比如你写一个控件,包含一个按钮,但你不知道点击按钮后应该做什么,只有这个控件的使用者知道,所以你申明一个事件,使用者来实现它。
你说 的貌似其中的固有事件,自定义事件理解起来有点难理解,可能是做其他的有点定式思维影响。能举个栗子能好理解点。 还有这小JJ挺霸道的

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧