|
SkinPlusPlus Dll Method & COM Interface |
在给定的HDC上,画位图
-------DLL Method-------
BOOL sppDrawSkinImage(
HDC hdc, //目标DC
RECT rect, //绘制区域
LPCTSTR lpszObjName, //要绘制皮肤图片名称
BOOL bStretchAll, //是否拉伸
int nTopHeight = 0, //不被拉伸的顶高
int nBottomHeight = 0, //不被拉伸的底高
int nLeftWidth = 0, //不被拉伸的左宽
int nRightWidth = 0, //不被拉伸的右宽
COLORREF clrTrans = -1, //透明色
BOOL bTrans = FALSE //是否透明
);
-------Com Interface-------
VARIANT_BOOL DrawSkinImage(
_DrawImage* pDrawImage //绘制结构
);
hdc
[in]目标DC
目标DC可以是CPaintDC、CWindowDC、CClientDC、CDC,也可以是GetDC()、GetWindowDC()获得的DC。
rect
[in]绘制矩形区域
位图被绘制到DC的目标区域。
lpszObjName
[in]要绘制皮肤图片名称
该图片是通过Skin++Builder加入到皮肤文件中的,而不是用户从程序外部调用的图片。
这里提供了用户可以自己绘制皮肤资源图片的一种能力。在很多自定义控件的应用中需要用到这样的功能。
与DrawSkinBitmap与不同,DrawSkinImage可以绘制所有Skin++支持的所有的图片格式(BMP,TGA,PNG,ICON,ANI等)。
bStretchAll
[in]是否拉伸
如果设置为True,Skin++将对可拉伸区域进行拉伸操作,如果设置为False,Skin++将对可拉伸区域进行平铺操作。
在很多情况下,如果对整个图片进行拉伸将会导致图片失真,用户可以设置图片4个边线不被拉伸的区域,这样绘制
出来的效果要好很多,不会有明显的失真感觉。
nTopHeight
[in]不被拉伸的顶高
顶部将有nTopHeigh个 像素不被拉伸
nBottomHeight
[in]不被拉伸的底高
底部将有nBottomHeight个 像素不被拉伸
nLeftWidth
[in]不被拉伸的左宽
左边将有nLeftWidth个 像素不被拉伸
nRightWidth
[in]不被拉伸的右宽
右边将有nRightWidth个 像素不被拉伸
clrTrans
[in]透明色,默认值为-1
如果位图是异形可以使用透明色进行透明绘制
bTrans
[in] 是否透明
如果设置为True,Skin++将采用clrTrans颜色对位图进行透明绘制,
如果设置为False,即使对clrTrans设置了透明色,Skin++也将不会对位图进行透明绘制。
pDrawImage
[in] 绘制结构
COM 应用程序可以通过填充_DrawImage结构对图片进行绘制。
如果执行成功返回True,如果执行失败返回False.
如果用户需要在程序中编写自定义控件,可以将图片资源加入皮肤文件中,然后通过本函数进行图片的绘制。
这样做的好处是可以对图片进行统一管理,同时可以利用Skin++的绘图功能进行绘图。
另外,自定义控件还可以随皮肤的更换而实现风格的变换,实现界面的一致性。
例 子:
※ V C:
CPaintDC dc(this);
sppDrawSkinImage(dc.m_hDC,CRect(0,0,100,100),_T(“MyTestPicture.bmp”) ,TRUE,10,10,10,10,RGB(255,0,255),TRUE);
。。。。。。
支持的操作系统:Windows 95/98/Me/ NT/2000/XP/2003/Vista
Skin++版本 :Skin++ 标准版 不支持,,Skin++ 企业版2.0及以上版本支持,Skin++源码版2.0及以上版本支持
C++ 头文件 : 在SkinPPInc.h 和SkinPPWTL.h描述.
DLL 宿主文件 : SkinPPWTL.dll,SkinPlusPlus.dll,SkinPPPowerBuilder,SkinPPBorland,SkinPPBCB,SkinPPE.
COM 宿主文件 : SkinPPDotNet.dll,SkinPPVB.dll,SkinPPDelphiNet.dll
Copyright@2004-2007
上海勇进软件有限公司,保留所有权利。
如果您对帮助系统有任何建议,可以直接发邮件到support@uipower.com
Visual
Studio,和Visual
Studio logo 是微软公司在美国或在其他国家的注册商标。
| Converted from CHM to HTML with chm2web Standard 2.7 (unicode) |