易语言窗口复制模块源码
系统结构:取复制窗口标记,复制整个窗口,复制控件,处理随意移动,CopyWindow_OnMessage,CopyWindow_CallSrcWindowProc,CopyWindow_OnDestroy,CopyWindow_OnLButtonDown,CopyWindow_OnEraseBkgnd,CopyWindow_OnPaint,CopyWindow_HitMoveMessage,GetWindowTextEx,FillSolidRect,LoadBitmapFormBin,取比例尺寸,CreateWindowEx,DefWindowProc,GetModuleHandle,GetClassName,GetWindowLong,GetWindowRect,GetWindowText,GetWindowTextLength,LocalSize_WNDCLASSEX,RegisterClassEx,LoadCursor,SendMessage,LoadIcon,SetParent,GetClassLong,SetClassLong,DestroyWindow,OffsetRect,GetProp,SetProp,SetWindowLong,ShowWindow,CallWindowProc,BeginPaint,EndPaint,SetBkColor,ExtTextOut,GetClientRect,GetSysColor,GetParent,MoveWindow,GetWindow,GetAncestor,SetWindowText,CopyImage,GetObject,GetObject_BITMAP,CreateCompatibleBitmap,CreateCompatibleDC,SelectObject,BitBlt,CreatePatternBrush,DeleteDC,DeleteObject,FillRect,StretchBlt,SetStretchBltMode,
======窗口复制程序集
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 取复制窗口标记
| |
| |------ 复制整个窗口
| |
| |------ 复制控件
| |
| |------ 处理随意移动
| |
| |
======窗口消息程序集
| |
| |------ CopyWindow_OnMessage
| |
| |------ CopyWindow_CallSrcWindowProc
| |
| |------ CopyWindow_OnDestroy
| |
| |------ CopyWindow_OnLButtonDown
| |
| |------ CopyWindow_OnEraseBkgnd
| |
| |------ CopyWindow_OnPaint
| |
| |------ CopyWindow_HitMoveMessage
| |
| |
======辅助功能程序集
| |
| |------ GetWindowTextEx
| |
| |------ FillSolidRect
| |
| |------ LoadBitmapFormBin
| |
| |------ 取比例尺寸
| |
| |
======窗口程序集_窗口1
| |
| |------ _窗口1_创建完毕
| |
| |------ _按钮1_被单击
| |
| |
======调用的Dll
| |
| |---[dll]------ CreateWindowEx
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ GetClassName
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ GetWindowRect
| |
| |---[dll]------ GetWindowText
| |
| |---[dll]------ GetWindowTextLength
| |
| |---[dll]------ LocalSize_WNDCLASSEX
| |
| |---[dll]------ RegisterClassEx
| |
| |---[dll]------ LoadCursor
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ LoadIcon
| |
| |---[dll]------ SetParent
| |
| |---[dll]------ GetClassLong
| |
| |---[dll]------ SetClassLong
| |
| |---[dll]------ DestroyWindow
| |
| |---[dll]------ OffsetRect
| |
| |---[dll]------ GetProp
| |
| |---[dll]------ SetProp
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ ShowWindow
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ BeginPaint
| |
| |---[dll]------ EndPaint
| |
| |---[dll]------ SetBkColor
| |
| |---[dll]------ ExtTextOut
| |
| |---[dll]------ GetClientRect
| |
| |---[dll]------ GetSysColor
| |
| |---[dll]------ GetParent
| |
| |---[dll]------ MoveWindow
| |
| |---[dll]------ GetWindow
| |
| |---[dll]------ GetAncestor
| |
| |---[dll]------ SetWindowText
| |
| |---[dll]------ CopyImage
| |
| |---[dll]------ GetObject
| |
| |---[dll]------ GetObject_BITMAP
| |
| |---[dll]------ CreateCompatibleBitmap
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ BitBlt
| |
| |---[dll]------ CreatePatternBrush
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ FillRect
| |
| |---[dll]------ StretchBlt
| |
| |---[dll]------ SetStretchBltMode
调用的DLL命令:
.DLL命令 CreateWindowEx, 整数型, "user32", "CreateWindowExA", , 建立窗口
.参数 dwExStyle, 整数型
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.参数 dwStyle, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hWndParent, 整数型
.参数 hMenu, 整数型
.参数 hInstance, 整数型
.参数 lpParam, 整数型
.DLL命令 DefWindowProc, 整数型, "user32.dll", "DefWindowProcA"
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄。零表示失败。会设置GetLastError
.参数 lpModuleName, 整数型, , 指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD;
.DLL命令 GetClassName, 整数型, "user32", "GetClassNameA", , 为指定的窗口取得类名 以字节数表示的类名长度;排除最后的空中止字符。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲获得类名的那个窗口的句柄
.参数 lpClassName, 文本型, , 随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符
.参数 nMaxCount, 整数型, , 由lpClassName提供的缓冲区长度;
.DLL命令 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命令 GetWindowRect, 整数型, "user32", "GetWindowRect", , 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 想获得范围矩形的那个窗口的句柄
.参数 lpRect, RECT, , RECT,屏幕坐标中随同窗口装载的矩形;
.DLL命令 GetWindowText, 整数型, "user32", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
.参数 hwnd, 整数型, , 欲获取文字的那个窗口的句柄
.参数 lpString, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 cch, 整数型, , lp缓冲区的长度;
.DLL命令 GetWindowTextLength, 整数型, "user32", "GetWindowTextLengthA", , 调查窗口标题文字或控件内容的长短(在vb里使用:直接使用vb窗体或控件的caption或text属性) 字串长度,不包括空中止字符
.参数 hwnd, 整数型, , 想调查文字长度的窗口的句柄;
.DLL命令 LocalSize_WNDCLASSEX, 整数型, "kernel32.dll", "LocalSize"
.参数 参数一, WNDCLASSEX, 传址
.DLL命令 RegisterClassEx, 整数型, "user32", "RegisterClassExA", ,
.参数 pcWndClassEx, WNDCLASSEX
.DLL命令 LoadCursor, 整数型, "user32", "LoadCursorA", , 从指定的模块或应用程序实例中载入一个鼠标指针。LoadCursorBynum是LoadCursor函数的类型security声明 执行成功则返回已载入的指针的句柄;零表示失败。在Windows ; 95 和Win16环境中,这个函数只能载入标准尺寸的图标
.参数 实例句柄, 整数型, , 一个DLL的模块句柄;或者一个实例句柄,指定包含了鼠标指针的可执行程序
.参数 鼠标指针标识, 整数型, , 作为一个字串,指定欲载入的指针资源。作为一个长整数值,指定欲载入的资源ID;或者设置一个常数,代表某幅固有系统指针。如装载的是一个固有系统指针,注意hInstance参数应设为零。在api32.txt文件中以前缀IDC_ 作为标志;
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 LoadIcon, 整数型, "user32", "LoadIconA", , 从指定的模块或应用程序实例中载入一个图标。其中,LoadIconBynum是LoadIcon函数的类型security声明 执行成功则返回已载入的图标的句柄;零表示失败。会设置GetLastError
.参数 hInstance, 整数型
.参数 lpIconName, 整数型
.DLL命令 SetParent, 整数型, "user32", "SetParent", , 指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,但却不失为一个有效的办法。如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个) 前一个父窗口的句柄
.参数 hWndChild, 整数型, , 子窗口的句柄
.参数 hWndNewParent, 整数型, , hWndChild的新父;
.DLL命令 GetClassLong, 整数型, "user32", "GetClassLongA", , 取得窗口类的一个Long变量条目 由nIndex决定。零表示出错。会设置GetLastError
.参数 窗口句柄, 整数型, , 要为其获得类信息的窗口的句柄
.参数 值, 整数型, , 欲取得的信息,可能是下述任何一个常数:(正数表示一个字节偏移,用于取得在额外字节中为这个类分配的类信息);GCL_CBCLSEXTRA:这个类结构中分配的额外字节数;GCL_CBWNDEXTRA:窗口结构里为这个类中每个窗口分配的额外字节数;GCL_HBRBACKGROUND:描绘这个类每个窗口的背景时,使用的默认刷子的句柄;GCL_HCURSOR:指向这个类窗口默认光标的句柄;GCL_HICON:这个类中窗口默认图标的句柄;GCL_HICONSM:这个类的小图标;GCL_HMODULE:这个类的模块的句柄;GCL_MENUNAME:为类菜单取得名称或资源ID;GCL_STYLE:这个类的样式;GCL_WNDPROC:取得类窗口函数(该类窗口的默认窗口函数)的地址;
.DLL命令 SetClassLong, 整数型, "user32", "SetClassLongA", , 为窗口类设置一个Long变量条目 由nIndex指定的的类信息的前一个值。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲为其设置类信息的那个窗口的句柄
.参数 nIndex, 整数型, , 参考GetClassLong函数的nIndex参数说明
.参数 dwNewLong, 整数型, , 类信息的新值,具体取决于nIndex;
.DLL命令 DestroyWindow, 整数型, "user32", "DestroyWindow", , 破坏(即清除)指定的窗口以及它的所有子窗口(在vb里使用:用处不大。原文:it ; is unlikely to be of much use.) 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 欲清除的窗口的句柄;
.DLL命令 OffsetRect, 整数型, "user32", "OffsetRect", , 该函数通过应用一个指定的偏移,从而让矩形移动起来。x会添加到右侧和左侧区域。y添加到顶部和底部区域。偏移方向则取决于参数是正数还是负数,以及采用的是什么坐标系统 非零表示成功,零表示失败。会设置GetLastError
.参数 lpRect, RECT, , RECT,欲移动的矩形
.参数 x, 整数型, , 水平偏移量
.参数 y, 整数型, , 垂直偏移量;
.DLL命令 GetProp, 整数型, "user32", "GetPropA", , 从窗口属性表列中返回数据句柄
.参数 hwnd, 整数型
.参数 lpString, 文本型
.DLL命令 SetProp, 整数型, "user32", "SetPropA", , 增加或修改属性列项
.参数 hwnd, 整数型
.参数 lpString, 文本型
.参数 hData, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 ShowWindow, 整数型, "user32", "ShowWindow", , 控制窗口的可见性(在vb里使用:针对vb窗体及控件,请使用对应的vb属性) 如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)
.参数 hwnd, 整数型, , 窗口句柄,要向这个窗口应用由nCmdShow指定的命令
.参数 nCmdShow, 整数型, , 为窗口指定可视性方面的一个命令。请用下述任何一个常数;SW_HIDE:隐藏窗口,活动状态给令一个窗口;SW_MINIMIZE:最小化窗口,活动状态给令一个窗口;SW_RESTORE:用原来的大小和位置显示一个窗口,同时令其进入活动状态;SW_SHOW:用当前的大小和位置显示一个窗口,同时令其进入活动状态;SW_SHOWMAXIMIZED:最大化窗口,并将其激活;SW_SHOWMINIMIZED:最小化窗口,并将其激活;SW_SHOWMINNOACTIVE:最小化一个窗口,同时不改变活动窗口;SW_SHOWNA:用当前的大小和位置显示一个窗口,不改变活动窗口;SW_SHOWNOACTIVATE:用最近的大小和位置显示一个窗口,同时不改变活动窗口;SW_SHOWNORMAL:与SW_RESTORE相同;
.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 BeginPaint, 整数型, "user32", "BeginPaint", , 准备一个画图窗
.参数 hwnd, 整数型
.参数 lpPaint, PAINTSTRUCT
.DLL命令 EndPaint, 整数型, "user32", "EndPaint", , 在指定窗口中标记图画结尾标志
.参数 hwnd, 整数型
.参数 lpPaint, PAINTSTRUCT
.DLL命令 SetBkColor, 整数型, "gdi32", "SetBkColor", , 为指定的设备场景设置背景颜色。背景颜色用于填充阴影刷子、虚线画笔以及字符(如背景模式为OPAQUE)中的空隙。也在位图颜色转换期间使用。参考SetBkMode 前一个背景色,CLR_INVALID表示出错
.参数 hdc, 整数型
.参数 crColor, 整数型
.DLL命令 ExtTextOut, 整数型, "gdi32", "ExtTextOutA", , 经过扩展的文本描绘函数。也请参考SetTextAlign函数 非零表示成功,零表示失败。会设置GetLastError
.参数 hdc, 整数型, , 设备场景的句柄
.参数 x, 整数型, , 以逻辑坐标表示的一个点,指定了绘图起点
.参数 y, 整数型, , 同上
.参数 wOptions, 整数型, , 下述标志常数的任意组合ETO_CLIPPED将文本剪切出指定的矩形ETO_GLPYH_INDEXlp是一个字样索引表。参考对GetCharacterPlacement函数的说明。只适用于Win95ETO_OPAQUE在正式描绘文本前,用当前的背景色填充矩形
.参数 lpRect, RECT, , Rect,指定一个矩形,用于对文本进行格式化处理。可指定长整数0,在不用矩形区域的前提下描绘文本
.参数 lpString, 整数型, , 欲描绘的字串
.参数 nCount, 整数型, , 字串中要显示出来的字符数
.参数 lpDx, 整数型, , 如果不是零,这个参数就代表指向一个Long值数组的指针。该数组对每一对字符的间距进行了说明(采用逻辑单位)。其中第一个条目是第一和第二个字符的间距;第二个条目是第二和第三个字符的间距;以此类推。如果为零,函数就使用字体的默认间距设置;
.DLL命令 GetClientRect, 整数型, "user32", "GetClientRect", , 返回指定窗口客户区矩形的大小 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 欲计算大小的目标窗口
.参数 lpRect, RECT, , RECT,指定一个矩形,用客户区域的大小载入(以像素为单位);
.DLL命令 GetSysColor, 整数型, "user32", "GetSysColor", , 判断指定windows显示对象的颜色 指定对象的RGB颜色
.参数 nIndex, 整数型
.DLL命令 GetParent, 整数型, "user32", "GetParent", , 判断指定窗口的父窗口 父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
.参数 hwnd, 整数型, , 欲测试的窗口的句柄;
.DLL命令 MoveWindow, 整数型, "user32", "MoveWindow", , 改变指定窗口的位置和大小。顶级窗口可能受最大或最小尺寸的限制,那些尺寸优先于这里设置的参数 非零表示成功,零表示失败
.参数 hwnd, 整数型, , 欲移动窗口的句柄
.参数 x, 整数型, , 窗口新的左侧位置
.参数 y, 整数型, , 窗口新的顶部位置
.参数 nWidth, 整数型, , 窗口的新宽度
.参数 nHeight, 整数型, , 窗口的高宽度
.参数 bRepaint, 整数型, , 如窗口此时应重画,则设为TRUE(非零)。FALSE(零)则表明应用程序会自己决定是否重画窗口;
.DLL命令 GetWindow, 整数型, "user32", "GetWindow", , 获得一个窗口的句柄,该窗口与某源窗口有特定的关系 由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError
.参数 hwnd, 整数型, , 源窗口
.参数 wCmd, 整数型, , 指定结果窗口与源窗口的关系,它们建立在下述常数基础上:;GW_CHILD:寻找源窗口的第一个子窗口;GW_HWNDFIRST:为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口;GW_HWNDLAST:为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口;GW_HWNDNEXT:为源窗口寻找下一个兄弟窗口;GW_HWNDPREV:为源窗口寻找前一个兄弟窗口;GW_OWNER:寻找窗口的所有者;
.DLL命令 GetAncestor, 整数型, "user32.dll", "GetAncestor", ,
.参数 hwnd, 整数型
.参数 gaFlags, 整数型
.DLL命令 SetWindowText, 整数型, "user32", "SetWindowTextA", , 设置窗口的标题文字或控件的内容(在vb里使用:针对vb窗体,应使用caption或text属性) 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型
.参数 lpString, 文本型
.DLL命令 CopyImage, 整数型, "user32", "CopyImage", , 复制位图、图标或指针,同时在复制过程中进行一些转换工作 执行成功则返回新图象的句柄,零表示失败。会设置GetLastError
.参数 handle, 整数型, , 欲复制的图象的句柄
.参数 un1, 整数型, , 下述常数之一:MAGE_BITMAP, IMAGE_CURSOR 或 IMAGE_ICON
.参数 n1, 整数型, , 副本以像素表示的宽度
.参数 n2, 整数型, , 副本以像素表示的高度
.参数 un2, 整数型, , 下述常数任意组合:;LR_DELETEORG:删除原来的图象;LR_COPYRETURNORG:忽略n1和n2设置;LR_MONOCHROME:创建一个单色副本;LR_COPYFROMRESOURCE:在原始资源的基础上创建一个副本,原始图象即是从那个资源中载入的。假设我们想为一个32×32的图标制作一个64×64的副本。如果不设这个标志,CopyImage会直接放大原来的图标。而使用这个标志后,CopyImage首先检查资源文件中是否存在这个图标的一个64×64版本,如果存在,就直接载入品质更好的图象;
.DLL命令 GetObject, 整数型, "gdi32", "GetObjectA", , 取得对指定对象进行说明的一个结构。windows手册建议用GetObject这个名字来引用该函数。GetObjectAPI在vb中用于避免与GetObject关键字混淆 如lpObject设为零(用ByVal As Long在这种情况下传递一个NULL参数),则必须设置缓冲区的长度。如执行成功,返回载入结构内部的实际字节数;如失败,返回零值
.参数 hObject, 整数型, , 画笔、刷子、字体、位图或调色板等对象的句柄
.参数 nCount, 整数型, , 欲取回的字节数。通常是由lpObject定义的那个结构的长度
.参数 lpObject, 整数型, , 任何类型,用于容纳对象数据的结构。针对画笔,通常是一个LOGPEN结构;针对扩展画笔,通常是EXTLOGPEN;针对字体是LOGBRUSH;针对位图是BITMAP;针对DIBSection位图是DIBSECTION;针对调色板,应指向一个整型变量,代表调色板中的条目数量
.DLL命令 GetObject_BITMAP, 整数型, "gdi32", "GetObjectA", , 取得对指定对象进行说明的一个结构。windows手册建议用GetObject这个名字来引用该函数。GetObjectAPI在vb中用于避免与GetObject关键字混淆 如lpObject设为零(用ByVal As Long在这种情况下传递一个NULL参数),则必须设置缓冲区的长度。如执行成功,返回载入结构内部的实际字节数;如失败,返回零值
.参数 hObject, 整数型, , 画笔、刷子、字体、位图或调色板等对象的句柄
.参数 nCount, 整数型, , 欲取回的字节数。通常是由lpObject定义的那个结构的长度
.参数 lpObject, BITMAP, 传址, 任何类型,用于容纳对象数据的结构。针对画笔,通常是一个LOGPEN结构;针对扩展画笔,通常是EXTLOGPEN;针对字体是LOGBRUSH;针对位图是BITMAP;针对DIBSection位图是DIBSECTION;针对调色板,应指向一个整型变量,代表调色板中的条目数量
.DLL命令 CreateCompatibleBitmap, 整数型, "gdi32", "CreateCompatibleBitmap", , 创建一幅与设备有关位图,它与指定的设备场景兼容 执行成功返回位图句柄,零表示失败
.参数 hdc, 整数型, , 设备场景的句柄
.参数 nWidth, 整数型, , 位图宽度,以像素为单位
.参数 nHeight, 整数型, , 位图高度,以像素为单位;
.DLL命令 CreateCompatibleDC, 整数型, "gdi32", "CreateCompatibleDC", , 创建一个与特定设备场景一致的内存设备场景 新设备场景句柄,若出错则为零
.参数 hdc, 整数型, , 设备场景句柄。新的设备场景将与它一致。也可能为0以创建一个与屏幕一致的设备场景;
.DLL命令 SelectObject, 整数型, "gdi32", "SelectObject", , 每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式 与以前选入设备场景的相同hObject类型的一个对象的句柄,零表示出错。如选定的对象是一个区域(Region),结果就是下列常数之一:SIMPLEREGION, ; COMPLEXREGION 或 NULLREGION 对区域进行描述, GDI_ERROR 表示出错
.参数 hdc, 整数型, , 一个设备场景的句柄
.参数 hObject, 整数型, , 一个画笔、位图、刷子、字体或区域的句柄;
.DLL命令 BitBlt, 整数型, "gdi32", "BitBlt", , 将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容 非零表示成功,零表示失败。会设置GetLastError
.参数 hDestDC, 整数型, , 目标设备场景
.参数 x, 整数型, , 对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示
.参数 y, 整数型, , 同上
.参数 nWidth, 整数型, , 欲传输图象的宽度和高度
.参数 nHeight, 整数型, , 同上
.参数 hSrcDC, 整数型, , 源设备场景。如光栅运算未指定源,则应设为0
.参数 xSrc, 整数型, , 对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示
.参数 ySrc, 整数型, , 同上
.参数 dwRop, 整数型, , 传输过程要执行的光栅运算;
.DLL命令 CreatePatternBrush, 整数型, "gdi32", "CreatePatternBrush", , 用指定了刷子图案的一幅位图创建一个刷子 如执行成功,则返回新刷子的一个句柄;否则返回零
.参数 hBitmap, 整数型, , 指向一幅位图的句柄。如指定了单色位图,文本和背景色就会在图案中使用;
.DLL命令 DeleteDC, 整数型, "gdi32", "DeleteDC", , 删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景 执行成功则为非零,失败则为零
.参数 hdc, 整数型, , 将要删除的设备场景 在vb里使用不要将它用于由vb hdc属性获取的设备场景句柄;
.DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject", , 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败
.参数 hObject, 整数型, , 一个GDI对象的句柄;
.DLL命令 FillRect, 整数型, "user32", "FillRect", , 用指定的刷子填充一个矩形 非零表示成功,零表示失败。会设置GetLastError
.参数 hdc, 整数型, , 设备场景的句柄
.参数 lpRect, RECT, , RECT,对填充区域进行描述的一个矩形,采用逻辑坐标
.参数 hBrush, 整数型, , 欲使用的刷子的句柄;
.DLL命令 StretchBlt, 整数型, "gdi32", "StretchBlt", , 将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。这个函数会在设备场景中定义一个目标矩形,并在位图中定义一个源图象。源矩形会根据需要进行伸缩,以便与目标矩形的大小相符 非零表示成功,零表示失败。会设置GetLastError
.参数 hdc, 整数型, , 目标设备场景
.参数 x, 整数型, , 目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 y, 整数型, , 同上
.参数 nWidth, 整数型, , 目标矩形的宽度和高度,以逻辑坐标表示
.参数 nHeight, 整数型, , 同上
.参数 hSrcDC, 整数型, , 源设备场景。如光栅运算未指定一个源,则这个参数应为零
.参数 xSrc, 整数型, , 用源DC的逻辑坐标表示的源矩形左上角位置
.参数 ySrc, 整数型, , 同上
.参数 nSrcWidth, 整数型, , 分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理
.参数 nSrcHeight, 整数型, , 同上
.参数 dwRop, 整数型, , 传输过程中进行的光栅运算。如刷子属于光栅运算的一部分,就使用选入目标DC的刷子;
.DLL命令 SetStretchBltMode, 整数型, "gdi32", "SetStretchBltMode", , 指定StretchBlt 和 StretchDIBits函数的伸缩模式。这种伸缩模式定义了Windows如何对伸缩过程中剔除的扫描线进行控制。对于VB窗体和控件,倘若在API绘图过程中使用这个函数,建议恢复原来的StretchBlt模式 上一次伸缩模式的值,零表示失败
.参数 hdc, 整数型
.参数 nStretchMode, 整数型
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...