//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言高级表格滚动截图源码系统结构:超级截图,创建位图,复制到,取位图数据,释放位图,SetWindowPos,EnumDisplaySettings,创建GDI对象_,创建内存场景_,取设备场景_,选入设备场景_,释放设备场景_,删除设备场景_,创建设备场景位图_,PrintWindow,删除对象_,复制场景位图_,GetObjectA,GetDIBits_BimapInfo,GetDIBits,CopyMemory_BITMAPINFO,CopyMemory_BITMAPFILEHEADER, ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------_按钮_快照_被单击 || ||------超级截图 || || ======位图操作类 || ||------_初始化 || ||------_销毁 || ||------创建位图 || ||------复制到 || ||------取位图数据 || ||------释放位图 || || ======调用的Dll || ||---[dll]------SetWindowPos || ||---[dll]------_窗口是否最小化 || ||---[dll]------_取窗口大小 || ||---[dll]------_取窗口区域位置 || ||---[dll]------EnumDisplaySettings || ||---[dll]------创建GDI对象_ || ||---[dll]------创建内存场景_ || ||---[dll]------取设备场景_ || ||---[dll]------选入设备场景_ || ||---[dll]------释放设备场景_ || ||---[dll]------删除设备场景_ || ||---[dll]------_窗口是否可见 || ||---[dll]------_窗口取外边框 || ||---[dll]------创建设备场景位图_ || ||---[dll]------PrintWindow || ||---[dll]------删除对象_ || ||---[dll]------复制场景位图_ || ||---[dll]------GetObjectA || ||---[dll]------GetDIBits_BimapInfo || ||---[dll]------GetDIBits || ||---[dll]------CopyMemory_BITMAPINFO || ||---[dll]------CopyMemory_BITMAPFILEHEADER 调用的DLL命令: .DLL命令SetWindowPos,整数型,"user32.dll","SetWindowPos",,,Long,非零表示成功,零表示失败。会设置GetLastError .参数窗口句柄,整数型,,Long,欲定位的窗口 .参数定位类型,整数型,,Long,窗口句柄。在窗口列表中,窗口hwnd会置于这个窗口句柄的后面。HWND_BOTTOM将窗口置于窗口列表底部HWND_TOP将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序HWND_TOPMOST将窗口置于列表顶部,并位于任何最顶部窗口的前面HWND_NOTOPMOST将窗口置于列表顶部,并位于任何最顶部窗口的后面 .参数窗口新横坐标,整数型,,Long,窗口新的x坐标。如hwnd是一个子窗口,则x用父窗口的客户区坐标表示 .参数窗口新纵坐标,整数型,,Long,窗口新的y坐标。如hwnd是一个子窗口,则y用父窗口的客户区坐标表示 .参数窗口新宽度,整数型,,Long,指定新的窗口宽度 .参数窗口新高度,整数型,,Long,指定新的窗口高度 .参数显示方式,整数型,,Long,包含了旗标的一个整数SWP_DRAWFRAME围绕窗口画一个框SWP_HIDEWINDOW隐藏窗口等等 .DLL命令_窗口是否最小化,逻辑型,,"IsIconic",公开,判断窗口是否已最小化非零表示成功,零表示失败 .参数窗口句柄,整数型,,要测试的那个窗口的句柄 .DLL命令_取窗口大小,整数型,,"GetClientRect",,user32.dll返回指定窗口客户区矩形的大小(Long,非零表示成功,零表示失败。) .参数hwnd,整数型,,Long,欲计算大小的目标窗口 .参数lpRect,矩形范围,,RECT,指定一个矩形,用客户区域的大小载入(以像素为单位) .DLL命令_取窗口区域位置,整数型,,"ClientToScreen",,user32.dll非零表示成功,零表示失败 .参数窗口句柄,整数型,,hwnd,要取出区域坐标的窗口句柄 .参数位置变量,坐标型,,lpPoint,参见相关帮助 .DLL命令EnumDisplaySettings,整数型,,"EnumDisplaySettingsA" .参数lpszDeviceName,整数型 .参数iModeNum,整数型 .参数lpDevMode,短整数型,传址 .DLL命令创建GDI对象_,整数型,,"CreateDIBSection",,gdi32.dll创建一个DIBSection。这是一个GDI对象,可象一幅与设备有关位图那样使用。但是,它在内部作为一幅与设备无关位图保存执行成功返回DIBSection位图的句柄,零表示失败。会设置GetLastError .参数设备场景句柄,整数型,,一个设备场景的句柄。如dw设为DIB_PAL_COLORS,那么DIB颜色表就会用来自逻辑调色板的颜色进行初始化 .参数pBitmapInfo,位图信息,,BITMAPINFO,这个结构初始化成欲创建的那幅位图的配置数据 .参数常数,整数型,,下述常数之一:;DIB_PAL_COLORS:BITMAPINFO包含了一个16位调色板索引的数组;DIB_RGB_COLORS:BITMAPINFO包含了一个颜色表,其中保存有32位颜色(RGBQUAD) .参数内存地址,整数型,,用于载入DIBSection数据区的内存地址 .参数文件映射句柄,整数型,,指向一个文件映射对象的可选句柄,位图将在其中创建。如设为零,Windows会自动分配内存 .参数偏移量,整数型,,如指定了句柄,就用这个参数指定位图数据在文件映射对象中的偏移量; .DLL命令创建内存场景_,整数型,,"CreateCompatibleDC" .参数hdc,整数型 .DLL命令取设备场景_,整数型,,"GetDC",,获取指定窗口的设备场景 指定窗口的设备场景句柄,出错则为0 .参数hwnd,整数型,,将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC; .DLL命令选入设备场景_,整数型,,"SelectObject",,gdi32.dll每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式 与以前选入设备场景的相同hObject类型的一个对象的句柄,零表示出错。如选定的对象是一个区域(Region),结果就是下列常数之一:SIMPLEREGION,;COMPLEXREGION或NULLREGION对区域进行描述,GDI_ERROR表示出错 .参数设备场景句柄,整数型,,一个设备场景的句柄 .参数对象句柄,整数型,,一个画笔、位图、刷子、字体或区域的句柄; .DLL命令释放设备场景_,整数型,,"ReleaseDC",,user32.dll释放由调用GetDC或GetWindowDC函数获取的指定设备场景。它对类或私有设备场景无效(但这样的调用不会造成损害) 执行成功为1,否则为0 .参数窗口句柄,整数型,,要释放的设备场景相关的窗口句柄 .参数设备场景,整数型,,要释放的设备场景句柄; .DLL命令删除设备场景_,整数型,,"DeleteDC",,gdi32.dll删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景,执行成功则为非零,失败则为零 .参数hdc,,,将要删除的设备场景 .DLL命令_窗口是否可见,逻辑型,,"IsWindowVisible",公开,判断窗口是否可见如窗口可见则返回TRUE(非零) .参数窗口句柄,整数型,,要测试的那个窗口的句柄 .DLL命令_窗口取外边框,逻辑型,,"GetWindowRect",公开,user32.dll获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 .参数句柄,整数型,,Long,想获得范围矩形的那个窗口的句柄 .参数大小,矩形坐标,传址,RECT,屏幕坐标中随同窗口装载的矩形(左边,顶边,右边,底边) .DLL命令创建设备场景位图_,整数型,,"CreateCompatibleBitmap" .参数hdc .参数nWidth .参数nHeight .DLL命令PrintWindow,逻辑型 .参数hwnd,整数型 .参数hdcBlt,整数型 .参数nFlags,整数型 .DLL命令删除对象_,整数型,,"DeleteObject",,gdi32.dll用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败 .参数对象句柄,整数型,,一个GDI对象的句柄; .DLL命令复制场景位图_,整数型,,"BitBlt",,gdi32.dll将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容非零表示成功,零表示失败。会设置GetLastError .参数目标设备场景,整数型,,目标设备场景 .参数目标横坐标,整数型,,对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示 .参数目标纵坐标,整数型,,同上 .参数传输图像宽度,整数型,,欲传输图象的宽度和高度 .参数传输图像高度,整数型,,同上 .参数源设备场景,整数型,,源设备场景。如光栅运算未指定源,则应设为0 .参数源横坐标,整数型,,对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示 .参数源纵坐标,整数型,,同上 .参数光栅运算方式,整数型,,传输过程要执行的光栅运算; .DLL命令GetObjectA,整数型,,"GetObjectA" .参数hgdiobj .参数cbBuffer .参数lpvObject,自定义 .DLL命令GetDIBits_BimapInfo,整数型,,"GetDIBits" .参数HDC .参数hBitmap .参数nStartScan .参数nNumScans .参数lpBits .参数lpBI,sg5ygs5y .参数wUsage .DLL命令GetDIBits,整数型,,"GetDIBits" .参数HDC .参数hBitmap .参数nStartScan .参数nNumScans .参数lpBits,字节集 .参数lpBI,sg5ygs5y .参数wUsage .DLL命令CopyMemory_BITMAPINFO,整数型,,"RtlMoveMemory" .参数Destination,字节集 .参数Source,sg5ygs5y .参数Length .DLL命令CopyMemory_BITMAPFILEHEADER,整数型,,"RtlMoveMemory" .参数Destination,字节集 .参数Source,sbh5yr5gy .参数Length
