//皮肤控制
//HookMsg
//#define HS_MENU 0x80000000L
//#define HS_WINDOW 0x40000000L
//#define HS_NONE 0x00000000L
//#define HS_ALL HS_MENU | HS_WINDOW
//HookAPI
//#define HOOKAPI_SCROLLBAR 0x80000000L
//#define HOOKAPI_GETSYSCOLOR 0x40000000L
//#define HOOKAPI_FILLRECT 0x20000000L
//#define HOOKAPI_OTHER 0x10000000L
//#define HOOKAPI_NONE 0x00000000L
//#define HOOKAPI_ALL HOOKAPI_SCROLLBAR | HOOKAPI_GETSYSCOLOR | HOOKAPI_FILLRECT | HOOKAPI_OTHER
//加载皮肤
//strSkinFile :皮肤路径.
//bWithoutHook :该参数指定加载皮肤时是否开启Hook功能.
function boolean sppLoadSkin(ref string strSkinFile,boolean bWithoutHook) library 'SkinPPPowerBuilder.dll'
//设置是否进行Hook
//bHook :True为开启Hook功能,False为关闭Hook功能.
//enumHookStyle :HS_MENU开启菜单自动换肤功能,HS_WINDOW开启窗口自动换肤功能,HS_NONE关闭所有Hook,HS_ALL开启所有自动换肤功能.
function boolean sppSetHookMessage(boolean bHook,ulong dwHookStyle) library 'SkinPPPowerBuilder.dll'
//设置HookAPI的类型
//dwRemove :移除API类型
//dwAdd :添加API类型
//返回值 :返回当前API类型
function ulong sppModifyHookAPIStyle(ulong dwRemove,ulong dwAdd) library 'SkinPPPowerBuilder.dll'
//获得当前API类型
function ulong sppGetHookAPIStyle() library 'SkinPPPowerBuilder.dll'
//设置是否HookAPI
//bHookAPI :True为HookAPI
//返回值 :返回设置前的HookAPI状态
function boolean sppSetHookAPI(boolean bHookAPI) library 'SkinPPPowerBuilder.dll'
//获得HookAPI状态
//返回值 :True表示当前为HookAPI,False表示当前没有HookAPI
function boolean sppGetHookAPI() library 'SkinPPPowerBuilder.dll'
//移除皮肤
function boolean sppRemoveSkin() library 'SkinPPPowerBuilder.dll'
//设置标题栏自定义按钮是否显示
//uResID : 按钮的ResourceID
//bVisible : 是否可见
function boolean sppSetCustSysBtnVisible(ulong uResID,boolean bVisible) library 'SkinPPPowerBuilder.dll'
//指定自定义系统按钮的Check状态
//uResID : 自定义系统按钮的资源ID数值
//bChecked : 是否按下状态
function boolean sppSetCustSysBtnStatus(ulong uResID,boolean bChecked) library 'SkinPPPowerBuilder.dll'
//设置皮肤色调
//clr : 皮肤色调 如果clr==-1,就恢复原来的效果
//blend : 混合透明度 0-1 , 0为无效果,1为无透明,推荐值0.5
//bShowDialog : 是否显示颜色选择对话框
function boolean sppColorize(ulong clr,double blend,boolean bShowDialog) library 'SkinPPPowerBuilder.dll'
//弹出文件选择框选择皮肤
function boolean sppSelectSkin() library 'SkinPPPowerBuilder.dll'
//在给定的HDC上,画位图
//ulong hdc 目标DC
//RECT rc 绘制区域
//ulong hBitmap 要绘制的位图句柄
//boolean bStretchAll 是否拉伸
//int nTopHeight 不被拉伸的顶高
//ulong nBottomHeight 不被拉伸的底高
//ulong nLeftWidth 不被拉伸的左宽
//ulong nRightWidth 不被拉伸的右宽
//ulong clrTrans 透明色
//boolean bTrans 是否透明
function boolean sppDrawSkinBitmap(ulong hdc,RECT rc,ulong hBitmap,boolean bStretchAll,ulong nTopHeight,ulong nBottomHeight,ulong nLeftWidth,ulong nRightWidth,ulong clrTrans,boolean bTrans) library 'SkinPPPowerBuilder.dll'
//在给定的HDC上,画位图
//ulong hdc 目标DC
//RECT rect 绘制区域
//string strObjName 要绘制皮肤图片名称
//boolean bStretchAll 是否拉伸
//ulong nLeftWidth 不被拉伸的左宽
//ulong nRightWidth 不被拉伸的右宽
//ulong nTopHeight 不被拉伸的顶高
//ulong nBottomHeight 不被拉伸的底高
//ulong clrTrans 透明色
//boolean bTrans 是否透明
function boolean sppDrawSkinImage(ulong hdc,RECT rect,string strObjName,boolean bStretchAll,ulong nLeftWidth,ulong nRightWidth,ulong nTopHeight,ulong nBottomHeight,ulong clrTrans,boolean bTrans) library 'SkinPPPowerBuilder.dll'
//获得换肤后的系统颜色
//nColorIndex : 要获取的颜色类型
function ulong sppGetSkinSysColor(ulong nColorIndex) library 'SkinPPPowerBuilder.dll'
//获得Windows系统默认的颜色
//nColorIndex : 要获取的颜色类型
function ulong sppGetDefaultSysColor(ulong nColorIndex) library 'SkinPPPowerBuilder.dll'
//设置窗口的资源ID,该ID会在多语言版本中用到
//hWnd : 对话框窗口的句柄
//nResID : 对话框资源ID
function boolean sppSetWindowResID(ulong hWnd,ulong nResID) library 'SkinPPPowerBuilder.dll'
//获得窗口的资源ID
//hWnd : 对话框窗口的句柄
//返回值 : 成功返回资源ID,失败返回-1
function ulong sppGetWindowResID(ulong hWnd) library 'SkinPPPowerBuilder.dll'
//设置异型窗口的资源ID
//hWnd : 对话框窗口的句柄
//nResID : 对话框资源ID
//返回值 : 成功返回True,失败返回False
function boolean sppSetFreeWindowID(ulong hWnd,ulong nResID) library 'SkinPPPowerBuilder.dll'
//获得异型窗口的资源ID
//hWnd : 对话框窗口的句柄
//返回值 : 成功返回资源ID,失败返回-1
function ulong sppGetFreeWindowID(ulong hWnd) library 'SkinPPPowerBuilder.dll'
//设置窗口自画是否自己来处理,该方法用于自画部分需要自己处理的情况下
//hWnd : 要自画的窗口句柄
//bCustomDraw : TRUE为自己处理自画,FALSE为交给Skin++处理自画
//返回值 : 成功返回True,失败返回False
function boolean sppSetCustomDraw(ulong hWnd,boolean bCustomDraw) library 'SkinPPPowerBuilder.dll'
//设置窗口是否计算RGN区域
//hWnd : 窗口句柄
//bRgnEnable : True为计算区域,FALSE为不计算区域
//返回值 : 成功返回True,失败返回False
function boolean sppSetRgnEnable(ulong hWnd,boolean bRgnEnable) library 'SkinPPPowerBuilder.dll'
//设置ListHeader窗口的排序信息
//hWnd : ListHeader的窗口句柄
//nSortColumn : 要对ListHeader排序的列的索引
//bSortAscending : 是否为升序
//返回值 : 成功返回True,失败返回False
function boolean sppSetListHeaderSortInfo(ulong hWnd,ulong nSortColumn,boolean bSortAscending) library 'SkinPPPowerBuilder.dll'
//设置是否自己画对话框背景,该方法用在需要自己对背景进行处理的情况下.
//hWnd : 对话框的句柄
//bErase : TRUE 为自己画背景,FALSE 为Skin++画,如果没有调用该方法,Skin++将画对话框背景.
//返回值 : 成功返回True,失败返回False
function boolean sppSetDialogEraseBkgnd(ulong hWnd,boolean bErase) library 'SkinPPPowerBuilder.dll'
//设置对话框背景是否剪切子控件区域。
//hWnd : 对话框句柄
//bNoClip : TRUE为不需要剪切,FALSE为需要剪切区域
//bAllChild : TRUE为该窗体的所有子对话框都剪切.
//返回值 : 成功返回True,失败返回False
function boolean sppSetDialogBkClipRgn(ulong hWnd,boolean bClip,boolean bAllChild) library 'SkinPPPowerBuilder.dll'
//设置按钮的提示
//hWnd : 按钮句柄
//szTooltip : 按钮提示文本
//返回值 : 成功返回True,失败返回False
function boolean sppSetButtonTooltip(ulong hWnd,string szTooltip) library 'SkinPPPowerBuilder.dll'
//对指定的窗口去掉皮肤,并且保证不会再被换肤,即使使用SetSkinHwnd也不会换肤.
//hWnd : 指定的窗口句柄
//bChildNoSkin : 是否对该窗口中的子窗口去掉皮肤
//返回值 : 成功返回True,失败返回False
function boolean sppSetNoSkinHwnd(ulong hWnd,boolean bChildNoSkin) library 'SkinPPPowerBuilder.dll'
//对指定的窗口进行换肤
//hWnd : 指定的窗口句柄
//szClassName : 要子类化的Skin类型 WC_DIALOGBOX/WC_CONTROLBAR等
//bChildSkin : 是否对该窗口中的子窗口加上皮肤
//返回值 : 成功返回True,失败返回False
function boolean sppSetSkinHwnd(ulong hWnd,string szClassName,boolean bChildSkin) library 'SkinPPPowerBuilder.dll'
//对指定的窗口临时去掉皮肤,可以通过SetSkinHwnd进行再次换肤
//返回值 : 成功返回True,失败返回False
function boolean sppRemoveSkinHwnd(ulong hWnd) library 'SkinPPPowerBuilder.dll'
//功能: 获得Skin++的系统Metrics,作用同Windows API函数GetSystemMetrics,
// 取得Skin++实际的标题栏高度,菜单条高度等数值
//hWnd :窗口句柄
//nIndex:参数同WindowsAPI函数GetSystemMetrics的参数
//返回值:成功返回Skin++的Metrics,失败返回-1
function ulong sppGetSystemMetrics(ulong hWnd,ulong nIndex) library 'SkinPPPowerBuilder.dll'
//功能 :多线程换肤用
//返回值 :成功返回True,失败返回False
function boolean sppInitializeSkin() library 'SkinPPPowerBuilder.dll'
//功能 :退出界面库,做清理工作。
//返回值:成功返回True,失败返回False
function boolean sppExitSkin() library 'SkinPPPowerBuilder.dll'
//功能 :设置数据窗口是否刷新
//hWnd :数据窗口句柄
//bRedraw:True为刷新,False为锁定刷新
//返回值 :成功返回True,失败返回False
//备注 :在数据窗口添加数据时会导致刷新比较慢,
// 这个时候可以用这个接口锁定刷新,数据插入完成后需重新开
- 1
- 2
- 3
- 4
前往页