零起点学会自绘(持续更新)
来源:互联网 发布:网络骗局大全微信 编辑:程序博客网 时间:2024/06/05 05:04
最近在学自绘,我会把我的心得持续写在这个博客上。如有不对之处,请回复,本人会第一时间改正。谢谢!
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
子类化:
什么是子类化?别把子类化看的太那个什么了,这个原理跟打仗把通信兵截下换上自己的通信兵一样一样的!
大家想想,是不是在编程时有些控件的某一功能没有?这些功能易语言支持库的开发人员不可能每件事都想到,所以自己动手,丰衣足食,自己做这些功能。之前大家可能都是通过代码来完成,比如让编辑框无法输入特定字符,就在“内容被改变”事件里写判断语句。可是这样费时费力,没法大规模应用,所以,子类化这个“救世主”来啦!
Windows操作系统对于控件功能,都是已“消息”来完成。我们要自绘,就要把这些消息拦截,更改为自己的消息。大家来看看流程图吧。
我自己画了一个打仗原理的流程图:
嘿嘿,知道了吧!怎么拦截?试试API吧!用SetWindowLong这个函数。易语言的格式是:
易语言声明格式:
DLL命令名
返回值数据类型
公开
备注
SetWindowLong
整数型
在窗口结构中为指定的窗口设置信息指定数据的前一个值
DLL库文件名
user32
在DLL库中对应命令名
SetWindowLongA
成员名
类型
传址
数组
备注
hWnd
整数型
欲为其取得信息的窗口的句柄
nIndex
整数型
函数的功能索引,参考GWL_相关常量
dwNewLong
整数型
由nIndex指定的窗口信息的新值;
文本代码:.DLL命令 API_SetWindowLong, 整数型, "user32", "SetWindowLongA", 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 整数型, , 由nIndex指定的窗口信息的新值;
这个么,易语言有个好的API查询工具:易用API伴侣。我不太推荐用易语言的向导API助手。因为他的API不太全,也没有常量。
严重跑题啊= =我说下这个API的说明:dwNewLong参数指定新的属性值。如果nIndex为GWL_WNDPROC,dwNewLong表示新窗口过程地址,SetWindowsLong调用后返回控件窗口原来的窗口过程地址,由于窗口子类化的出发点就是为了尽量使用控件原有的功能,程序大部分不处理的消息还要靠原来的窗口过程来处理,所以这个地址必须被保存下来,以便下面可以转发消息。 0 0
- 零起点学会自绘(持续更新)
- (一)git的零起点配置(持续更新)
- Linux常用命令自整理(持续更新)
- 开发自检测工具集合(持续更新)
- Java 零起点
- 需要学会使用的工具——持续更新中
- 学会nodejs-成为全栈工程师--持续更新
- ASP.NET零起点教程
- 零起点,photoshop cs3 教程
- 求嵌入式零起点培训
- 零起点配置PIX防火墙
- 零起点学习C语言
- AutoHotKey零起点快速入门
- SAP 自带程序(示例及功能), 持续更新...
- SAP 自带程序(示例及功能), 持续更新...
- 传送门 (持续更新中,汇总自其他博客)
- 自写webrtc程序中遇到的问题---------------------持续更新----------
- 遇到问题集锦(无c++基础 零起点小小小菜鸟亲身经历) 转自http://blog.csdn.net/qq592116366
- 易语言动态链接库制作教程
- 易语言支持库制作学习笔记
- 易语言图形界面设计
- 电脑连接电视的方法,2套键鼠,各不耽误
- 邮箱服务器架设教程
- 零起点学会自绘(持续更新)
- 易语言开发控制台程序教程
- 易语言Windows程序开发教程集合
- java线程安全总结
- 谈谈SendMessage。。。
- 易语言程序开发之正则表达式
- 易语言网络应用教程之POST入门教程
- 易语言入门教程之屏幕输出程序
- 如何将网易博客导出到WordPress