首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

纯C语言自画控件解决方案

2012-06-08 
纯C语言自画控件各位大神,小弟菜鸟。最近学习《windows核心编程》,突发奇想,想用纯C语言自己画控件并实现控件

纯C语言自画控件
各位大神,小弟菜鸟。最近学习《windows核心编程》,突发奇想,想用纯C语言自己画控件并实现控件的事件处理。比如,用GDI画一个矩形,然后给这个矩形填充颜色,但是不知道怎样让windows给程序发送鼠标进入、鼠标移出、鼠标移动等事件。在网上查过好多资料,要么是custom-draw,要么是owner-draw,都不是我想要的,我想要完全自己画,比如在on_paint事件里画。小弟初学,若实在是异想天开,希望各位前辈不要嘲笑。谢谢。

[解决办法]
自己画的话就要自己判断鼠标是否在矩形区域内,创建一个主窗口后,你可以从系统得到的信息包括,鼠标的点击、移动或离开窗口(WM_MOUSELEAVE)等消息,窗口获得系统提供的消息,然后你再分析这些消息,可以获得鼠标是否在你画的矩形内!我就是自己写控件的,只有一个主窗口,然后在这个主窗口上画上所有控件实现相应功能!这也就是常说的direct skin!
[解决办法]

探讨

引用:

两个层次:

1. windows自绘控件: 实质上也是windows窗口,style为child,自行处理几个关键事件。你需要注册超类,以及解决句柄对象化的问题。

2. 纯自绘: 这就不单单是个单独的控件,而是一套系统。因为它不是window句柄,就不可能得到控件的相关事件,这就需要你自己将“容器”一并提供。所以,这是一个体系。

对于以上二者,……

热点排行