易语言GDI绕鼠标旋转的文本源码
系统结构:创建旋转文本,构建文本数组,圆坐标,时钟周期事件,重画_3D,UpdateLayeredWindow,创建自窗口句柄,点旋转运算,取低位,取高位,添加_四棱锥,添加_正方体,添加_线,添加_文本,创建,GetMdc,销毁,API_BitBlt,API_GetDC,API_SetWindowLong,API_CallWindowProc,API_SetTimer,API_GetWindowRect,API_BeginPaint,API_EndPaint,API_GetCursorPos,API_GetWindowLong,API_UpdateLayeredWindow,CreateCompatibleDC,CreateDIBSection,SelectObject,DeleteObject,DeleteDC,ReleaseDC,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 创建旋转文本
| |
| |------ 构建文本数组
| |
| |------ 圆坐标
| |
| |------ _时钟1_周期事件
| |
| |
======三维图形类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 时钟周期事件
| |
| |------ 重画_3D
| |
| |------ UpdateLayeredWindow
| |
| |------ 创建自窗口句柄
| |
| |------ 点旋转运算
| |
| |------ 取低位
| |
| |------ 取高位
| |
| |------ 添加_四棱锥
| |
| |------ 添加_正方体
| |
| |------ 添加_线
| |
| |------ 添加_文本
| |
| |
======内存场景
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ GetMdc
| |
| |------ 销毁
| |
| |
======调用的Dll
| |
| |---[dll]------ API_BitBlt
| |
| |---[dll]------ API_GetDC
| |
| |---[dll]------ API_SetWindowLong
| |
| |---[dll]------ API_CallWindowProc
| |
| |---[dll]------ API_SetTimer
| |
| |---[dll]------ API_GetWindowRect
| |
| |---[dll]------ API_BeginPaint
| |
| |---[dll]------ API_EndPaint
| |
| |---[dll]------ API_GetCursorPos
| |
| |---[dll]------ API_GetWindowLong
| |
| |---[dll]------ API_UpdateLayeredWindow
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ CreateDIBSection
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ ReleaseDC
调用的DLL命令:
.DLL命令 API_BitBlt, 整数型, "gdi32", "BitBlt", , 将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容 非零表示成功,零表示失败。会设置GetLastError
.参数 hDestDC, 整数型, , 目标设备场景
.参数 x, 整数型, , 对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示
.参数 y, 整数型, , 同上
.参数 nWidth, 整数型, , 欲传输图象的宽度和高度
.参数 nHeight, 整数型, , 同上
.参数 hSrcDC, 整数型, , 源设备场景。如光栅运算未指定源,则应设为0
.参数 xSrc, 整数型, , 对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示
.参数 ySrc, 整数型, , 同上
.参数 dwRop, 整数型, , 传输过程要执行的光栅运算;
.DLL命令 API_GetDC, 整数型, "user32", "GetDC", , 获取指定窗口的设备场景 指定窗口的设备场景句柄,出错则为0
.参数 hwnd, 整数型, , 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC;
.DLL命令 API_SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 API_CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 API_SetTimer, 整数型, "user32", "SetTimer", , 安装系统定时器
.参数 hWnd, 整数型
.参数 nIDEvent, 整数型
.参数 uElapse, 整数型
.参数 lpTimerFunc, 整数型
.DLL命令 API_GetWindowRect, 整数型, "user32", "GetWindowRect", , 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 想获得范围矩形的那个窗口的句柄
.参数 lpRect, RECT, , RECT,屏幕坐标中随同窗口装载的矩形;
.DLL命令 API_BeginPaint, 整数型, "user32", "BeginPaint", , 准备一个画图窗
.参数 hwnd, 整数型
.参数 lpPaint, PAINTSTRUCT
.DLL命令 API_EndPaint, 整数型, "user32", "EndPaint", , 在指定窗口中标记图画结尾标志
.参数 hwnd, 整数型
.参数 lpPaint, PAINTSTRUCT
.DLL命令 API_GetCursorPos, 整数型, "user32", "GetCursorPos", , 获取鼠标指针的当前位置 非零表示成功,零表示失败。会设置GetLastError
.参数 lpPoint, POINTAPI, , POINTAPI,随同指针在屏幕像素坐标中的位置载入的一个结构;
.DLL命令 API_GetWindowLong, 整数型, "user32", "GetWindowLongA", , 从指定窗口的结构中取得信息 由nIndex决定。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲为其获取信息的窗口的句柄
.参数 nIndex, 整数型, , 欲取回的信息,可以是下述任何一个常数:;GWL_EXSTYLE:扩展窗口样式;GWL_STYLE:窗口样式;GWL_WNDPROC:该窗口的窗口函数的地址;GWL_HINSTANCE:拥有窗口的实例的句柄;GWL_HWNDPARENT:该窗口之父的句柄。不要用SetWindowWord来改变这个值;GWL_ID:对话框中一个子窗口的标识符;GWL_USERDATA:含义由应用程序规定;DWL_DLGPROC:这个窗口的对话框函数地址;DWL_MSGRESULT:在对话框函数中处理的一条消息返回的值;DWL_USER:含义由应用程序规定;
.DLL命令 API_UpdateLayeredWindow, 整数型, , "UpdateLayeredWindow"
.参数 hwnd, 整数型, , 当前窗口的句柄
.参数 hdcDst, 整数型, , 当前窗口的DC
.参数 pptDst, POINTAPI, , 当前窗口在屏幕的左上角位置(相当于 ::SetWindowPos()函数)
.参数 psize, SIZE, , 当前窗口在的宽度和高度
.参数 hdcSrc, 整数型, , 内存缓存DC
.参数 pptSrc, POINTAPI, , 内存缓存的左上角坐标(可用于裁剪内存缓存)
.参数 crKey, 整数型
.参数 pblend, BLENDFUNCTION, , 混合样式
.参数 dwFlags, 整数型
.DLL命令 CreateCompatibleDC, 整数型, , "CreateCompatibleDC", , 创建内存场景
.参数 hdc, 整数型
.DLL命令 CreateDIBSection, 整数型, "gdi32.dll", "CreateDIBSection", , 该函数创建应用程序可以直接写入的、与设备无关的位图(DIB)。一般情况下后面4参数都为NULL
.参数 hdc, 整数型, , 设备环境句柄。如果iUsage的值是DIB_PAL_COLORS,那么函数使用该设备环境的逻辑调色板对与设备无关位图的颜色进行初始化。
.参数 pbmi, BITMAPINFO, , 指向BITMAPINFO结构的指针,该结构指定了与设备无关位图的各种属性,其中包括位图的维数和颜色。
.参数 iUsage, 整数型, , 指定由pbmi参数指定的BITMAPINFO结构中的成员bmiColors数组包含的数据类型(要么是逻辑调色板索引值,要么是原文的RGB值)。
.参数 ppvBits, 整数型, , 指向一个变量的指针,该变量接收一个指向DIB位数据值的指针。
.参数 hSection, 整数型, , 文件映射对象的句柄。函数将使用该对象来创建DIB(与设备无关位图)。该参数可以是NULL。
.参数 dwOffset, 整数型, , 如果hSection为NULL,那么系统将为与设备无关位图(DIB)分配内存。在这种情况下,函数CreateDIBSection将忽略参数dwOffset,应用程序无法在以后获取指向内存的句柄。通过调用GetObject函数来填充的DIBSECTION结构成员dshSection也将成为NULL。
.DLL命令 SelectObject, 整数型, , "SelectObject"
.参数 hdc, 整数型, , 一个设备场景的句柄
.参数 hObject, 整数型, , 一个画笔、位图、刷子、字体或区域的句柄
.DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject", , 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败
.参数 hObject, 整数型, , 一个GDI对象的句柄;
.DLL命令 DeleteDC, 整数型, "gdi32", "DeleteDC", , 删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景 执行成功则为非零,失败则为零
.参数 hdc, 整数型, , 将要删除的设备场景 在vb里使用不要将它用于由vb hdc属性获取的设备场景句柄;
.DLL命令 ReleaseDC, , , "ReleaseDC"
.参数 hwnd, 整数型, , 要释放的设备场景相关的窗口句柄
.参数 hdc, 整数型, , 要释放的设备场景句柄
易语言类似冒险岛2D横版卷轴类游戏源码,初始化,开场见面,处理物品使用,显示掉血数值,怪物刷新血,减血加血处理,创建方块,创建怪物,重叠检测子程序,处理动画,创建物品,创建物品框架...
易语言窗口特效码源码,窗口进程取句柄,进程枚举,枚举窗口,枚举窗口过程,内存自动优化,内存优化,窗口移动,取屏幕尺寸,时钟周期,窗口特效_中心扩展,窗口特效_立体旋转,取窗口尺寸,窗...
易语言用标签打造漂亮界面源码,用标签打造漂亮界面...
易语言特训小游戏源码,newGame,偏移,绘制,碰撞检测,移动,x,y...
易语言图表模块和24位色转单色位图模块源码,初始化表,画柱形,画曲线,检查,画坐标,画虚线,转化为单色,读字节文本,取十进制文本,取二进制文本,画圆饼,椭圆初始化,画饼,算角,颜色...
易语言图片播放刚哪个朋友要的源码,寻找图片文件...
易语言图片色调亮度处理源码,混合颜色...
易语言取字符非循环源码,ANSI转UNICODE,UNICODE转ANSI,取字符数,取字符左边,取字符中间,取字符右边,取字符数2,取字符数3,分解文本到数组,A字符转U,U字符转A...
易语言轮值表源码,轮值表头初始化...