易语言简易画图源码
系统结构:屏幕画线,GetDC,LineTo,SetROP2,ReleaseDC,RedrawWindow,GetCursorPos,MoveToEx,
======窗口程序集1
| |
| |------ _画板1_鼠标左键被按下
| |
| |------ 屏幕画线
| |
| |------ _画板1_鼠标左键被放开
| |
| |------ _画板1_鼠标位置被移动
| |
| |------ __启动窗口_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ LineTo
| |
| |---[dll]------ SetROP2
| |
| |---[dll]------ ReleaseDC
| |
| |---[dll]------ RedrawWindow
| |
| |---[dll]------ GetCursorPos
| |
| |---[dll]------ MoveToEx
调用的DLL命令:
.DLL命令 GetDC, 整数型, "user32.dll", "GetDC"
.参数 句柄, 整数型
.DLL命令 LineTo, 整数型, "gdi32.dll", "LineTo"
.参数 hdc, 整数型
.参数 x, 整数型
.参数 y, 整数型
.DLL命令 SetROP2, 整数型, "gdi32", "SetROP2", , 设置指定设备场景的绘图模式。与vb的DrawMode属性完全一致 如执行成功,返回前一个绘图模式;零表示出错
.参数 设备场景, 整数型
.参数 光栅运算方式, 整数型
.DLL命令 ReleaseDC, 整数型, "user32", "ReleaseDC", , 释放由调用GetDC或GetWindowDC函数获取的指定设备场景。它对类或私有设备场景无效(但这样的调用不会造成损害) 执行成功为1,否则为0
.参数 窗口句柄, 整数型, , 要释放的设备场景相关的窗口句柄
.参数 设备场景, 整数型, , 要释放的设备场景句柄;
.DLL命令 RedrawWindow, 整数型, "user32", "RedrawWindow", , 根据fuRedraw旗标的设置,重画全部或部分窗口 非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , 要重画的窗口的句柄。零表示更新桌面窗口
.参数 矩形, 整数型, , RECT,窗口中需要重画的一个矩形区域
.参数 区域, 整数型, , 一个“区”的句柄,这个区描述了要重画的窗口区域。“区”:Region
.参数 清楚模式, 整数型, , 规定具体重画操作的旗标。下列常数可组合使用,从而进行复杂的重画行动;RDW_ERASE:重画前,先清除重画区域的背景。也必须指定RDW_INVALIDATE;RDW_FRAME:如非客户区包含在重画区域中,则对非客户区进行更新。也必须指定RDW_INVALIDATE;RDW_INTERNALPAINT:即使窗口并非无效,也向其投递一条WM_PAINT消息;RDW_INVALIDATE:禁用(屏蔽)重画区域;RDW_NOERASE:禁止删除重画区域的背景;RDW_NOFRAME:禁止非客户区域重画(如果它是重画区域的一部分)。也必须指定RDW_VALIDATE;RDW_NOINTERNALPAINT:禁止内部生成或由这个函数生成的任何待决WM_PAINT消息。针对无效区域,仍会生成WM_PAINT消息;RDW_VALIDATE:检验重画区域;RDW_ERASENOW:立即删除指定的重画区域;RDW_UPDATENOW:立即更新指定的重画区域;RDW_ALLCHILDREN:重画操作包括子窗口(前提是它们存在于重画区域);RDW_NOCHILDREN:重画操作排除子窗口(前提是它们存在于重画区域);
.DLL命令 GetCursorPos, 整数型, "user32", "GetCursorPos", , 获取鼠标指针的当前位置 非零表示成功,零表示失败。会设置GetLastError
.参数 位置, POINTAPI, , POINTAPI,随同指针在屏幕像素坐标中的位置载入的一个结构;
.DLL命令 MoveToEx, 整数型, "gdi32.dll", "MoveToEx"
.参数 hdc, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 POINTAPI, POINTAPI
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。