桌面上的街舞之基础篇(09-04-29)
2009-05-18 07:42
381 查看
首先说下这是个什么东西吧,就是一个类似于qq宠物的东东,能在你的桌面上蹦啊蹦啊蹦啊……的那么一个东东。
先给你看几个效果图:
当然了,完成后可是动态的哦。
好了,废话不多说。先给你打个基础。
知道四个API:GetWindowLong,SetWindowLong, SetLayeredWindowAttributes,SetWindowPos
先说SetWindowPos吧。
函数原型:SetWindowPos(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
作用是让窗体前置。
给个例子:
Private Const HWND_TOPMOST = -1
Private Sub Form_load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, 3
End Sub
再说GetWindowLong:
函数原型: GetWindowLong (ByVal hwnd As Long, ByVal nIndex As Long) As Long
作用是从指定窗口中返回信息。获得指定窗口的结构数据信息,什么叫"窗口的结构数据信息"?就是1个窗口的诸方面情况吧,象人有姓名性别年龄等一样,窗口有"扩展样式(包含标题栏,有标题栏缩小、无标题栏等的组合值)","样式(包含滚动条、系统菜单、边框等可设置)","父窗口","子窗口","窗口函数"等诸多方面,见下面nIndex参数值。这些方面的内容(每1方面只能有1个当前值)就构成了窗口的结构信息。
还有就是SetWindowLong:
这个是和GetWindowLong合用的。
函数原型: SetWindowLong (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
作用就是在窗口结构中未指定的窗口设置信息。常用此函数来动态地设置窗口的风格(如样式,滚动条等等)。即不在属性窗口中设置。而在API中设置。
最后一个SetLayeredWindowAttributes:
这是设置窗体透明的函数。
SetLayeredWindowAttributes (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Hwnd:句柄
crKey:颜色值
bAlpha:透明度取值区间【0~255】
dwFlags:透明方式
其中透明方式有两种:①、取LWA_ALPHA,此时crKey参数无效。bAlpha有效。
②、取LWA_CLORKEY,此时窗体中所有颜色值为crKey的地方将为透明(透明度取决于bAlpha)。
使用前提是:首先要是窗体有WS_EX_LAYERED扩展属性。(用SetWindowLong就可以)
未完待续……
先给你看几个效果图:
当然了,完成后可是动态的哦。
好了,废话不多说。先给你打个基础。
知道四个API:GetWindowLong,SetWindowLong, SetLayeredWindowAttributes,SetWindowPos
先说SetWindowPos吧。
函数原型:SetWindowPos(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
作用是让窗体前置。
给个例子:
Private Const HWND_TOPMOST = -1
Private Sub Form_load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, 3
End Sub
再说GetWindowLong:
函数原型: GetWindowLong (ByVal hwnd As Long, ByVal nIndex As Long) As Long
作用是从指定窗口中返回信息。获得指定窗口的结构数据信息,什么叫"窗口的结构数据信息"?就是1个窗口的诸方面情况吧,象人有姓名性别年龄等一样,窗口有"扩展样式(包含标题栏,有标题栏缩小、无标题栏等的组合值)","样式(包含滚动条、系统菜单、边框等可设置)","父窗口","子窗口","窗口函数"等诸多方面,见下面nIndex参数值。这些方面的内容(每1方面只能有1个当前值)就构成了窗口的结构信息。
还有就是SetWindowLong:
这个是和GetWindowLong合用的。
函数原型: SetWindowLong (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
作用就是在窗口结构中未指定的窗口设置信息。常用此函数来动态地设置窗口的风格(如样式,滚动条等等)。即不在属性窗口中设置。而在API中设置。
最后一个SetLayeredWindowAttributes:
这是设置窗体透明的函数。
SetLayeredWindowAttributes (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Hwnd:句柄
crKey:颜色值
bAlpha:透明度取值区间【0~255】
dwFlags:透明方式
其中透明方式有两种:①、取LWA_ALPHA,此时crKey参数无效。bAlpha有效。
②、取LWA_CLORKEY,此时窗体中所有颜色值为crKey的地方将为透明(透明度取决于bAlpha)。
使用前提是:首先要是窗体有WS_EX_LAYERED扩展属性。(用SetWindowLong就可以)
未完待续……
相关文章推荐
- 桌面上的舞蹈之完成篇(09-04-29)
- 桌面上的舞蹈之总结篇(09-04-30)
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
- [零基础学JAVA]Java SE面向对象部分-09.面向对象基础(04)
- Linux-27-linux基础重要命令04(L005-09)
- jsp基础语法【04】_包含指令
- Python基础:09函数式编程
- 桌面基础架构优化
- java网络编程基础夯实04-DNS缓存
- 黑马程序员——零基础学习iOS开发——04 c语言:基本运算、流程控制、函数
- SQL优化【基础04】 - 常用HINT用法
- Java基础-09总结final,多态,抽象类,接口
- Js整理备忘(04)——数组基础
- java基础03,04
- Python基础04 运算
- IOS中的Swift基础04(字典,枚举)
- Linux实战教学笔记04:Linux命令基础
- 01-UI基础-04-02-UITableView补充
- php基础04_文件读写及路径信息