吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5289|回复: 19

[易语言] 易语言Ex_Dui 3.0 零基础一步步学自绘 第七集

  [复制链接]
zx2cwf 发表于 2014-11-19 11:47 | 显示全部楼层 |阅读模式

本帖最后由 LWJ一辈子 于 2014-11-19 11:50 编辑
今天放假 ,来更新一下教程

看了前六课的朋友们,已经可以做出一个漂亮的界面

我们的目标远不止在这里,一步步冲向扩展的金字塔

那么问题来了,Ex_DUI究竟能做出什么样的界面

Ex_DUI是基于GdiPlus和Gdi的Api接口写出来的模块,功能非常强大

windows下的软件基本上都是基于Gdiplus和Gdi自绘的

所以QQ、迅雷、360浏览器等软件的界面用Ex_DUI也能做出来

GdiPlus.dll在C:\Windows\System32的目录下,如图:

1.png

废话不多说,今天的课程:
熟悉windows消息+Ex_Dui颜色使用+Ex_Dui组件规范命名

1. windows消息:
Windows是一消息(Message)驱动式系统,Windows消息提供了应用程序与应用程序之间、应用程序与Windows系统之间进行通讯的手段。应用程序要实现的功能由消息来触发,并*对消息的响应和处理来完成。Windows系统中有两种消息队列,一种是系统消息队列,另一种是应用程序消息队列。计算机的所有输入设备由 Windows监控,当一个事件发生时,Windows先将输入的消息放入系统消息队列中,然后再将输入的消息拷贝到相应的应用程序队列中,应用程序中的消息循环从它的消息队列中检索每一个消息并发送给相应的窗口函数中。一个事件的发生,到达处理它的窗口函数必须经历上述过程。


由于Windows本身是由消息驱动的,举一个例子来说明这个问题。打开记事本程序,该程序有一个File菜单,那么,在运行该应用程序的时候,如果用户单击了文件菜单里新建命令时,这个动作将被Windows (而不是应用程序本身!)所捕获,Windows经过分析得知这个动作应该由上面所说的那个应用程序去处理,既然是这样,Windows就发送了个叫做WM_COMMAND的消息给应用程序,该消息所包含信息告诉应用程序:"用户单击了新建菜单",应用程序得知这一消息之后,采取相应的动作来响应它,这个过程称为消息处理。Windows为每一个应用程序(确切地说是每一个线程)维护了相应的消息队列,应用程序的任务就是不停的从它的消息队列中获取消息,分析消息和处理消息,直到一条接到叫做WM_QUIT消息为止,这个过程通常是由一种叫做消息循环的程序结构来实现的。
Wi n d o w s单元中是这样声明消息的:
  1. struct MSG
  2. {

  3.     HWND hwnd;/ /窗口句柄

  4.     UINT message; / /消息常量标识符

  5.     WPARAM wParam;// 32位消息的特定附加信息

  6.     LPARAM lParam;// 32位消息的特定附加信息

  7.     DWORD time; / /消息创建时的时间

  8.     POINT pt;/ /消息创建时的鼠标位置

  9. };
复制代码

看完这里,头都大了哦,来看看Ex_DUI两个消息的实例吧:

1)点击按钮,发送一个消息给窗口,代码如下:
2.png


红色框上发送的就是消息,SendMessageA (hwnd, 16, 0, 0)这是啥意思呢
消息值16的是给窗口发送了一个关闭窗口的消息,所以点击按钮后,窗口会关闭


源码下载:
第七集_1.zip (105.04 KB, 下载次数: 28)

2)向编辑框中发送按键消息,代码如下:
3.png


这样就向编辑框中发送了按下A键的消息

源码下载:

第七集_2.zip (105.28 KB, 下载次数: 28)

以上介绍了最基本的windows消息处理


2.Ex_Dui颜色使用
在我们使用Ex_Dui的时候,每个组件里都有颜色的属性设置
如果设置有误,文字或者背景都会无法显示。


在Ex_Dui3.0里要区分这两种颜色
1)ARGB:
一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。
简单的来说,就是多了透明,透明在Gdi里是相当的重要,从前几集的例子中就能看出来


2)RGB
是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色

3)ARGB2RGB ()
以上是两种色彩模式,但ARGB2RGB ()是一个子程序,中间的2是到的意思,翻译过来就是ARGB到RGB,把ARGB的颜色转换到RGB颜色

4)RGB2ARGB()
这也是一个子程序,中间的2是到的意思,翻译过来就是RGB到ARGB,把RGB颜色转换为ARG颜色

5)取颜色值 ()
同上,是一个子程序,有三个参数,红色,绿色,蓝色,该函数可以把RGB混合转换成十进制的RGB颜色值


6)如何在Ex_DUI 3.0中使用:
①如果提示中注释为RGB:
6.png


可以直接写易语言中的颜色常量,例如:#红色,#蓝色
可以用RGB颜色来生成十进制常量颜色,通过取颜色值()
这样取到的也是RGB颜色,如图:
7.png


还可以直接写十进制的RGB颜色值,通过精易编程助手得到十进制
8.png

在代码中写下直接填写9160075,如图:
10.png



②如果提示中,注释为Argb:
意思就是这里要填写argb,这里需要用到上边的RGB2ARGB(),意思就是把RGB转换到ARGB,OK,到这里就很清晰了
RGB2ARGB(RGB颜色,透明度),RGB颜色通过上边的①来取,直接用常量#蓝色,或者取颜色值(),或用精易编程助手的十进制颜色数值
12.png


Ex_Dui组件规范命名:

常见的命名方法:匈牙利命名法、骆驼命名法、帕斯卡(pascal)命名法
我们可以根据自己的实际情况命名,这里只做举例
骆峰式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例)。
骆峰式命名法就是当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。

大驼峰法
相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间。譬如
public class DataBaseUser;


在EX_DUI3.0里组件一般使用小驼峰命名法:
例如常见的组件:
组件名称 命名
编辑框 mEditBox
按钮mBtn
图片框mImgbox
单选框mradbox

变量的命名:
全局变量 g_ 全局变量
图片资源 bin_资源名称
常量Str_常量名称
局部变量//可以随意

今天的课程就到这里吧!

附:
易语言Ex_Dui 3.0 零基础一步步学自绘 第一集

易语言Ex_Dui 3.0 零基础一步步学自绘 第二集

易语言Ex_Dui 3.0 零基础一步步学自绘 第三集

易语言Ex_Dui 3.0 零基础一步步学自绘 第四集

易语言Ex_Dui 3.0 零基础一步步学自绘 第五集

易语言Ex_Dui 3.0 零基础一步步学自绘 第六集














评分

参与人数 16威望 +1 HB +59 THX +13 收起 理由
消逝的过去 + 1
飞刀梦想 + 1
agan8888 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
ding520 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
=天天= + 1 2015,羊年快乐,恭喜发财,万事如意!
sndncel + 1 + 1 这个要支持一下呀。。最近正想学习一下这个呀。。。
许先生 + 5 + 1 Get!Thanks!
哎呦呦 + 5 + 1 积极评分从我做起,感谢!
Top丶邪少 + 1 + 20 + 1 大神加油继续!
明大侠 + 5 + 1 最近没时间看,先存起来吧~
Syer + 3 + 1 Get!Thanks!
ferline8 + 1 + 1 请问这个能不能用资源编辑器来绘,每次写参数好麻烦...
jiagegigi + 3 + 1 跟着大神涨姿势!
王尼玛 + 10 + 1 Get!Thanks!
liu39 + 3 + 1 支持原创,感谢楼主!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
起凡第一华佗 发表于 2014-11-19 11:51 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Lee 发表于 2014-11-19 11:52 | 显示全部楼层

被小新领先了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
淡蓝色的花 发表于 2014-11-19 12:01 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
liu39 发表于 2014-11-19 12:25 | 显示全部楼层

讲的通俗易懂,深入浅出啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
vip 发表于 2014-11-19 13:35 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
520Kelly 发表于 2014-11-19 13:45 | 显示全部楼层

那个取颜色的话可以用ps 的取色器 得到的16进制以后反写 再换成10进制也可以 只是麻烦
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
keke120 发表于 2014-11-19 14:45 | 显示全部楼层

学习了  很好的教程
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
王尼玛 发表于 2014-11-19 16:30 | 显示全部楼层

跟着08大神学自绘
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
神秘小子 发表于 2014-11-19 18:47 | 显示全部楼层

感谢大神分享  学习中。
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表