精易论坛

标题: 闲来无事~发一下用易语言写Direct UI界面的思路 [打印本页]

作者: 啄啄    时间: 2012-8-10 14:26
标题: 闲来无事~发一下用易语言写Direct UI界面的思路
本帖最后由 啄啄 于 2012-8-10 14:27 编辑

可能许多同学还不知道什么是Direct UI
我简单介绍下
就是在父窗口上直接绘画控件,运行后,每个控件都是没有句柄的
可以说是自制控件
“自制控件”有许多好处,比如.漂亮的外形,防破J等等....
还想了解更多的同学,自行百度{:soso_e100:}
===============我是思路我怕谁====================
先来回想下我们之前学过的自绘
控件绘画顺序:
windows操作系统→发送消息→处理函数→绘画控件→控件
而我们“自制控件”并没有句柄一说,那就不可能让windows操作系统的消息发到我们的控件上来
怎么办?
既然他不给我们发消息,我们自己发
我们先写一个处理函数,原型就和我们自绘时用到的处理函数一样
比如以标签为例
子程序名:标签处理子程序
参数1:窗口句柄
参数2:消息
参数3:附加参数1
参数4:附加参数2
主要代码:
判断(是否为标签的父窗口)
是:判断(是否为按下消息)
       是:判断(是否在标签的矩形{也就是标签的范围}内)
              是:在父窗口上直接绘画标签(这里自行发挥)
              否:跳过
       否:跳过
否:跳过
....(下面自行发挥)
这个一个初步的标签处理函数完成
下面我们把他的父窗口子类化
这样子就可以获得父窗口的消息
当父窗口收到消息
我们就调用上面的函数
标签处理子程序(父窗口句柄,被鼠标左键按下,鼠标坐标x,鼠标坐标y)
接下来,标签可能就会发生绘画(主要看上面编写的代码)
这样就完成了一个简单的自制控件完成
============================================
当然还有很多的地方可以扩展,主要看大家自行发挥
这里只是给大家个思路
如果你看完,觉得哪里需要修改或者是错误,请回复提醒
如果觉得好,对你有帮助,那你一定要回复帮忙顶顶
求动力





QQ截图20120810142644.jpg (8.81 KB, 下载次数: 0)

QQ截图20120810142644.jpg

作者: 啄啄    时间: 2012-8-10 14:33
消灭0回复
我已经对这个世界绝望了= =
作者: 9527    时间: 2012-8-10 14:35
顶啄啄!!!!学习了动力有木有
.....
作者: 小磊    时间: 2012-8-10 14:37
这种写法比较麻烦,除非是部分非标准控件,否则没什么太大必要
作者: 啄啄    时间: 2012-8-10 14:38
小磊 发表于 2012-8-10 14:37
这种写法比较麻烦,除非是部分非标准控件,否则没什么太大必要

求简化思路
作者: 啄啄    时间: 2012-8-10 14:48
贴遁!秒沉贴之术
作者: 花海拾零    时间: 2012-8-10 14:49
看不懂啊
作者: 啄啄    时间: 2012-8-10 14:54
qq6165 发表于 2012-8-10 14:49
看不懂啊

怎么会看不懂
作者: 花海拾零    时间: 2012-8-10 15:01
啄啄 发表于 2012-8-10 14:54
怎么会看不懂

我不懂自绘......给我写个界面 我学习下呗


编辑框    按钮    标签     超级了表框
作者: 啄啄    时间: 2012-8-10 15:03
qq6165 发表于 2012-8-10 15:01
我不懂自绘......给我写个界面 我学习下呗

既然你看不懂上面的代码,说明你不知道自绘的基础,取自绘板块找我写的自绘教程
看完一,二节课,再来看着贴,就会看懂了
作者: 花海拾零    时间: 2012-8-10 15:05
啄啄 发表于 2012-8-10 15:03
既然你看不懂上面的代码,说明你不知道自绘的基础,取自绘板块找我写的自绘教程
看完一,二节课,再来看着 ...

好的 我去看看
作者: 小白很白    时间: 2012-8-11 17:56
写的有点看不懂,呵呵
作者: CF何    时间: 2012-8-12 16:10
那个什么例程在哪下载???
作者: svover    时间: 2012-9-17 15:39
没看懂
作者: 回眸微笑    时间: 2012-12-9 20:27
看看
作者: 小瑞子    时间: 2012-12-14 20:52
顶了
作者: GZfate    时间: 2013-1-2 10:26
前几天终于学会了子类化
作者: qq490298551    时间: 2013-1-3 19:46
看看 谢谢楼主分享
作者: 晨少    时间: 2013-1-12 21:14
学习一下  谢谢分享
作者: l凌蓝雪    时间: 2013-4-5 14:31
我已经对这个世界绝望了= =


作者: 混沌在此    时间: 2014-8-19 00:49
支持楼主 可以考虑下用派生类试试
作者: heikl    时间: 2014-8-19 00:55
介绍的不错。感觉麻烦
作者: hucwing    时间: 2014-8-23 03:27
支持~支持~
作者: sni0    时间: 2016-4-7 20:53
我是迟到的动力




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