精易论坛

标题: 自制界面试验 v01 [打印本页]

作者: 原我能    时间: 2010-2-1 21:51
标题: 自制界面试验 v01
昨天翻到了以前的一个源码,本来是管理飞机的,现在改了改,把dx层换成gdi+了,试试自己写几个界面组件.

1\ 当前只有1个窗口和1个时钟,启动后将之透明,在上面画自己的控件
2\ 基类叫精灵类,因为本来是给游戏里用的,暂时没改名字,有些属性和方法也不适用于gui
3\ 大致原理如下:
基类是[精灵类],有1个矩形管理自己画在哪,并检测鼠标位置
当需要新控件时,要继承自[精灵类],并重载其中的[_绘画()]方法和[ON_***]系列方法,程序在运行时会按消息类型依次调用这些方法.
其中,[ON_***]系列方法必须是逻辑型返回值,返回真表示继续传递(管理器会继续调用此组件类的实例注册的回调),返回假则中断传递.这么做的原因是: 以[按钮类]举例,当点击按钮时,管理器首先通知[按钮类],并需要在[ON_**]方法中处理该类的绘画和逻辑处理,当[ON_**]方法处理返回后,才继续调用客户注册的[按钮被按下]子程序.

当前简单实现了3个组件(面板,按钮和进度条)

当前问题:
1/ 还无法接收键盘消息,不知道哪里搞错了
2/ 没有实现父子关系
3/ 结构和消息系统还比较混乱

希望: 如果你觉得比较有意思,最好也写几个组件上传,说不定也能积少成多.
gdiplus类模块.e (308.04 KB, 下载次数: 14)

提供的 gdi+类模块源码,需要编译后使用

自制gui-1-28.rar

149.68 KB, 下载次数: 15, 下载积分: 精币 -2 枚


作者: 刘武    时间: 2010-2-1 22:26
kan     kan
作者: 刘武    时间: 2010-2-1 22:29
高手    啊啊
作者: simonlord    时间: 2010-2-1 22:57
的确是高手风范啊,哈哈
作者: simonlord    时间: 2010-2-1 22:57
两个下载,必须顶两次了
作者: 完美中的沉没    时间: 2013-3-31 01:11
看看
作者: 完美中的沉没    时间: 2013-3-31 11:25
看看
作者: 完美中的沉没    时间: 2013-3-31 11:27
看一下




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4