//
//
//
//
//
//
//
//
//
//
软件Tags:
易语言PNG上放控件系统结构:SetWindowLong,GetWindowLong,DrawText,SetWindowText,GetDC,InvalidateRect_,BeginPaint,CallWindowProc,EndPaint,GetClassLong,SetClassLong,AnimateWindow,SetLayeredWindowAttributes,UpdateWindow,SendMessage,Sleep,置PNG外形,GdiplusStartup,GdiplusShutdown,GetDC,GdipCreateFromHDC,GlobalAlloc,GlobalLock,GlobalUnlock,CreateStreamOnHGlobal,GdipGetImageHeight,GdipGetImageWidth,GdipLoadImageFromStream,GdipGetImageDimension,MoveWindow,GetWindowRect,GlobalFree,CreateCompatibleDC,CreateDIBSection,SelectObject,GdipDrawImageRect,GetWindowLong,UpdateLayeredWindow,DeleteDC,ReleaseDC,DeleteObject,SetWindowLong,GdipDisposeImage,GdipDeleteGraphics, ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------__启动窗口_位置被改变 || || ======窗口程序集2 || ||------_控件窗口_创建完毕 || ||------_按钮1_被单击 || ||------_控件窗口_可否被关闭 || || ======调用的Dll || ||---[dll]------SetWindowLong || ||---[dll]------GetWindowLong || ||---[dll]------DrawText || ||---[dll]------SetWindowText || ||---[dll]------GetDC || ||---[dll]------InvalidateRect_ || ||---[dll]------BeginPaint || ||---[dll]------CallWindowProc || ||---[dll]------EndPaint || ||---[dll]------GetClassLong || ||---[dll]------SetClassLong || ||---[dll]------AnimateWindow || ||---[dll]------SetLayeredWindowAttributes || ||---[dll]------UpdateWindow || ||---[dll]------SendMessage || ||---[dll]------_SendMessage || ||---[dll]------Sleep ======程序集1 || ||------_启动子程序 || ||------_临时子程序 || || ======PNG窗口类 || ||------_初始化 || ||------_销毁 || ||------置PNG外形 || || ======调用的Dll || ||---[dll]------GdiplusStartup || ||---[dll]------GdiplusShutdown || ||---[dll]------GetDC || ||---[dll]------GdipCreateFromHDC || ||---[dll]------GlobalAlloc || ||---[dll]------GlobalLock || ||---[dll]------GlobalUnlock || ||---[dll]------CreateStreamOnHGlobal || ||---[dll]------GdipGetImageHeight || ||---[dll]------GdipGetImageWidth || ||---[dll]------GdipLoadImageFromStream || ||---[dll]------GdipGetImageDimension || ||---[dll]------MoveWindow || ||---[dll]------GetWindowRect || ||---[dll]------GlobalFree || ||---[dll]------CreateCompatibleDC || ||---[dll]------CreateDIBSection || ||---[dll]------SelectObject || ||---[dll]------GdipDrawImageRect || ||---[dll]------GetWindowLong || ||---[dll]------UpdateLayeredWindow || ||---[dll]------DeleteDC || ||---[dll]------ReleaseDC || ||---[dll]------DeleteObject || ||---[dll]------SetWindowLong || ||---[dll]------GdipDisposeImage || ||---[dll]------GdipDeleteGraphics 调用的DLL命令: .支持库eAPI .DLL命令SetWindowLong,整数型,"user32","SetWindowLongA",,在窗口结构中为指定的窗口设置信息 指定数据的前一个值 .参数hwnd,整数型,,欲为其取得信息的窗口的句柄 .参数nIndex,整数型,,请参考GetWindowLong函数的nIndex参数的说明 .参数dwNewLong,整数型,,由nIndex指定的窗口信息的新值; .DLL命令GetWindowLong,整数型,"user32","GetWindowLongA" .参数hwnd,整数型 .参数nIndex,整数型 .DLL命令DrawText,整数型,"user32","DrawTextA",,将文本描绘到指定的矩形中描绘文字的高度 .参数hdc,整数型,,欲在其中显示文字的一个设备场景的句柄 .参数lpStr,文本型,,欲描绘的文本字串 .参数nCount,整数型,,欲描绘的字符数量。如果要描绘整个字串(直到空中止符),则可将这个参数设为-1 .参数lpRect,矩形数据,,RECT,指定用于绘图的一个格式化矩形(采用逻辑坐标) .参数wFormat,整数型,,一个标志位数组,决定了以何种形式执行绘图。参考下面总结的常数类型列表标志常数说明DT_BOTTOM必须同时指定DT_SINGLE。指示文本对齐格式化矩形的底边DT_CALCRECT象下面这样计算格式化矩形:多行绘图时矩形的底边根据需要进行延展,以便容下所有文字;单行绘图时,延展矩形的右侧。不描绘文字。由lpRect参数指定的矩形会载入计算出来的值DT_CENTER文本垂直居中DT_EXPANDTABS描绘文字的时候,对制表站进行扩展。默认的制表站间距是8个字符。但是,可用DT_TABSTOP标志改变这项设定DT_EXTERNALLEADING计算文本行高度的时候,使用当前字体的外部间距属性(theexternalleadingattribute)DT_LEFT文本左对齐DT_NOCLIP描绘文字时不剪切到指定的矩形DT_NOPREFIX通常,函数认为&字符表示应为下一个字符加上下划线。该标志禁止这种行为DT_RIGHT文本右对齐DT_SINGLELINE只画单行DT_TABSTOP指定新的制表站间距,采用这个整数的高8位DT_TOP必须同时指定DT_SINGLE。指示文本对齐格式化矩形的顶部DT_VCENTER必须同时指定DT_SINGLE。指示文本对齐格式化矩形的中部DT_WORDBREAK进行自动换行。如用SetTextAlign函数设置了TA_UPDATECP标志,这里的设置则无效; .DLL命令SetWindowText,整数型,,"SetWindowTextA" .参数窗口句柄,整数型 .参数标题,文本型 .DLL命令GetDC,整数型,,"GetDC" .参数hWnd,整数型 .DLL命令InvalidateRect_,整数型,,"InvalidateRect" .参数窗口句柄,整数型 .参数矩形区域,矩形数据 .参数是否立即重画,逻辑型 .DLL命令BeginPaint,整数型,"user32","BeginPaint",,准备一个画图窗 .参数hwnd,整数型 .参数lpPaint,PAINTSTRUCT .DLL命令CallWindowProc,整数型,"user32","CallWindowProcA",,将消息传答窗口函数 .参数lpPrevWndFunc,整数型 .参数hwnd,整数型 .参数msg,整数型 .参数wParam,整数型 .参数lParam,整数型 .DLL命令EndPaint,整数型,"user32","EndPaint",,在指定窗口中标记图画结尾标志 .参数hwnd,整数型 .参数lpPaint,PAINTSTRUCT .DLL命令GetClassLong,整数型,,"GetClassLongA" .参数hWnd,整数型 .参数nIndex,整数型 .DLL命令SetClassLong,整数型,,"SetClassLongA" .参数hWnd,整数型 .参数nIndex,整数型 .参数dwNewLong,整数型 .DLL命令AnimateWindow,逻辑型,,"AnimateWindow" .参数hWnd,整数型 .参数dwTime,整数型 .参数dwFlags,整数型 .DLL命令SetLayeredWindowAttributes,逻辑型,,"SetLayeredWindowAttributes",,成功返回真,否则返回假 .参数hwnd,整数型,,透明窗体的句柄 .参数crKey,整数型,,颜色值 .参数bAlpha,字节型,,透明度,取值范围是[0,255] .参数dwFlags,整数型,,透明方式:LWA_ALPHA(2)时,crKey参数无效,bAlpha参数有效||LWA_COLORKEY(1)时,bAlpha参数有效而窗体中的所有颜色为crKey的地方将变为透明 .DLL命令UpdateWindow,逻辑型,,"UpdateWindow" .参数hWnd,整数型 .DLL命令SendMessage,,,"SendMessageA" .参数窗口句柄,整数型 .参数消息值,整数型 .参数参数一,整数型 .参数参数二,PAINTSTRUCT .DLL命令_SendMessage,,,"SendMessageA" .参数A,整数型 .参数B,整数型 .参数C,整数型 .参数D,整数型 .DLL命令Sleep .参数Time,整数型 调用的DLL命令: .DLL命令GdiplusStartup,整数型,"gdiplus.dll","GdiplusStartup" .参数token,整数型,传址 .参数inputbuf,GdiplusStartupInput .参数outputbuf,整数型 .DLL命令GdiplusShutdown,,"gdiplus.dll","GdiplusShutdown" .参数token,整数型 .DLL命令GetDC,整数型,,"GetDC" .参数hwnd,整数型 .DLL命令GdipCreateFromHDC,整数型,"GdiPlus.dll","GdipCreateFromHDC" .参数hdc,整数型 .参数graphics,整数型,传址 .DLL命令GlobalAlloc,整数型,,"GlobalAlloc" .参数wFlags,整数型 .参数dwBytes,整数型 .DLL命令GlobalLock,整数型,,"GlobalLock" .参数hMem,整数型 .DLL命令GlobalUnlock,整数型,,"GlobalUnlock" .参数hMem,整数型 .DLL命令CreateStreamOnHGlobal,整数型,"Ole32.dll","CreateStreamOnHGlobal" .参数hGlobal,整数型 .参数fDeleteOnRelease,整数型 .参数ppstm,整数型,传址 .DLL命令GdipGetImageHeight,整数型,"gdiplus","GdipGetImageHeight",,取Image高度 .参数image,整数型 .参数Height,整数型,传址 .DLL命令GdipGetImageWidth,整数型,"gdiplus","GdipGetImageWidth",,取Image宽度 .参数image,整数型 .参数Width,整数型,传址 .DLL命令GdipLoadImageFromStream,整数型,"GdiPlus.dll","GdipLoadImageFromStream" .参数stream,整数型 .参数image,整数型,传址 .DLL命令GdipGetImageDimension,整数型,"GdiPlus.dll","GdipGetImageDimension" .参数image,整数型 .参数width,小数型,传址 .参数height,小数型,传址 .DLL命令MoveWindow,整数型,,"MoveWindow",,改变指定窗口的位置和尺寸 .参数hWnd,整数型 .参数x,整数型 .参数y,整数型 .参数nWidth,整数型 .参数nHaight,整数型 .参数bRepaint,逻辑型,,真为刷新 .DLL命令GetWindowRect,,,"GetWindowRect" .参数hWnd,整数型 .参数lpRect,Rect,传址 .DLL命令GlobalFree,整数型,,"GlobalFree" .参数hMem,整数型 .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命令GdipDrawImageRect,整数型,"GdiPlus.dll","GdipDrawImageRect" .参数graphics,整数型 .参数image,整数型 .参数x,小数型 .参数y,小数型 .参数width,小数型 .参数height,小数型 .DLL命令GetWindowLong,整数型,"user32.dll","GetWindowLongA" .参数hwnd,整数型 .参数nIndex,整数型 .DLL命令UpdateLayeredWindow,整数型,,"UpdateLayeredWindow" .参数hwnd,整数型,,当前窗口的句柄 .参数hdcDst,整数型,,当前窗口的DC .参数pptDst,POINT,,当前窗口在屏幕的左上角位置(相当于::SetWindowPos()函数) .参数psize,SIZE,,当前窗口在的宽度和高度 .参数hdcSrc,整数型,,内存缓存DC .参数pptSrc,POINT,,内存缓存的左上角坐标(可用于裁剪内存缓存) .参数crKey,整数型 .参数pblend,BLENDFUNCTION,,混合样式 .参数dwFlags,整数型 .DLL命令DeleteDC,整数型,,"DeleteDC" .参数hdc .DLL命令ReleaseDC,,,"ReleaseDC" .参数hwnd,整数型,,要释放的设备场景相关的窗口句柄 .参数hdc,整数型,,要释放的设备场景句柄 .DLL命令DeleteObject,整数型,,"DeleteObject" .参数hdc .DLL命令SetWindowLong,整数型,"user32","SetWindowLongA" .参数hwnd,整数型 .参数nIndex,整数型 .参数dwNewLong,整数型 .DLL命令GdipDisposeImage,整数型,"gdiplus.dll","GdipDisposeImage" .参数image,整数型 .DLL命令GdipDeleteGraphics,整数型,"gdiplus" .参数graphics,整数型
