VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 34511|回复: 41

教大家如何用DX做自己的控件,昨天终于想通了事件和控件的问题

  [复制链接]
 楼主| 发表于 2010-12-28 11:18:30 | 显示全部楼层 |阅读模式
本帖最后由 frankwangli 于 2010-12-29 02:31 编辑

下一步开发计划:完善各类控件的加入,并使用区域更新的方法,实现真正的节约资源!

先看个演示,给控件加了MOVE事件,并支持设置 ZOrder ,代码还太乱,整理好了发出来
被点中的按钮会随机移动和更改大小,并设置为最顶


由于VB的类不支持数组事件,所以单独用类来做控件显得很力不从心
以前做类的控件总是对事件不好处理,现在想到的方法基本上可以解决各种数组类的事件处理了

今天发个我重新写的DXBUTTON类控件,希望能对这方面爱好的朋友帮上忙!

我以前写的代码太凌乱,这次终于正规了点,希望大家能看懂

目前代码里只包含了BUTTON的创建,其他暂时没有,以后我会继续更新的

这里使用了SKIN的概念,也就是用不同的资源文件可以实现完全不同的图形效果
以后再加上SKIN文件读取,应该就很完美了!

如果去掉MouseMove事件的返回,执行速度又会快很多
捕获.JPG

Set MyDx = New MyDxFrom '用于申明一个窗口来进行DX渲染
MyDx.Initialization Me.Hwnd, Me.ScaleWidth, Me.ScaleHeight '初始化窗口,设定尺寸
MyDx.LoadSkin App.Path & "\res\def.skn" '设置Skin路径,并载入材质
MyDx.AddNewButton 100, 100, 220, 40, "按钮Key1", "按钮标题1" '创建一个按钮
MyDx.AddNewButton 150, 120, 220, 40, "按钮Key2", "演示按钮重叠"
MyDx.AddNewButton 100, 180, 220, 40, "按钮Key3", "按钮标题3"
MyDx.ReDraw = False '强制更新关闭,如果设置为True的时候回强制重新画一遍窗体,但如果内容画完就会自动设置为False,如果还有动画没有完成则会自动设置为True

对于窗口的更新,不太推荐使用DO,我用的一个TIMER控件来更新窗口

NewDxSkin.rar

149.13 KB, 下载次数: 1479

DX8界面.rar

16.55 KB, 下载次数: 1148

放在原来的目录运行

评分

参与人数 13威望 +62 金钱 +20 人气 +17 收起 理由
327404 + 5 + 1 很给力
ghostelove + 1 很给力!
yinghao2005 + 1 + 1 很好,为什么不用API函数setrect而自定义new
caicaiking + 1 太厉害了
admin6677 + 4 + 2 精品文章,太厉害了。学习学习
JuncoJet + 8 + 1 看大家都加了,我也加咯
[WARNING] + 4 + 1 我靠~~
zzyong00 + 1 + 1 发布源码
swx1995 + 7 + 1 精品文章
download + 10 + 3 听沙发的版主说很炫,特来加分...
djrm_yb + 4 + 2 我很少赞美人,但却是不错
19900603 + 6 + 2 不错~如果能设置 Zero 就好了
VBProFan + 12 + 20 精品文章

查看全部评分

本帖被以下淘专辑推荐:

发表于 2010-12-28 15:26:30 | 显示全部楼层
哇~!太炫了!加分高亮置顶加精!
回复 支持 反对

使用道具 举报

发表于 2010-12-28 16:53:18 | 显示全部楼层
呃 是 ZOrder 设置按钮的顶点排序
回复 支持 反对

使用道具 举报

发表于 2010-12-28 19:14:18 | 显示全部楼层
请问Def.SKN怎么制作的呀。
回复 支持 反对

使用道具 举报

发表于 2010-12-28 20:25:27 | 显示全部楼层
4# a8888123 貌似是 数据库  看他的读取方式
回复 支持 反对

使用道具 举报

发表于 2010-12-28 22:52:43 | 显示全部楼层
参观一下你怎么绘制文字的……
回复 支持 反对

使用道具 举报

发表于 2010-12-29 00:02:49 | 显示全部楼层
哇~!太炫了!
可不可以做成控件呢,很期待
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-29 00:17:56 | 显示全部楼层
请问Def.SKN怎么制作的呀。
a8888123 发表于 2010-12-28 19:14



专门做了个程序来制作.SKN文件
需要的话联系我QQ,12425595
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-29 00:18:16 | 显示全部楼层
哇~!太炫了!
可不可以做成控件呢,很期待
inat 发表于 2010-12-29 00:02


DX的东西不能做成用户控件,所以才用类来代替
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-12-29 00:19:12 | 显示全部楼层
参观一下你怎么绘制文字的……
acme_pjz 发表于 2010-12-28 22:52


超级笨的方法,绘制8个方向的白色底,再绘制文字

一个文字绘制了9次
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-5 00:08

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表