您的位置:首页 > 其它

关于activeskin在PB中运用问题

2009-06-23 10:47 267 查看
1: 首先定义外部函数:

PUBLIC FUNCTION ulong GetDC(ulong hwnd) LIBRARY "user32.dll"
PUBLIC FUNCTION ulong GetDesktopWindow() LIBRARY "user32.dll"
PUBLIC FUNCTION ulong ReleaseDC(ulong hwnd,ulong hdc) LIBRARY "user32.dll"

2: 定义实例变量:

ulong iu_skin,iu_dsktop

3: 在主窗体中加入控件:

在打开的窗口中选择Insert Control栏
在下面选中ActiveSkin Control并放到窗口上,并命名为ole_1

4: 窗口的open事件:

string ls_skindir
ls_skindir="skin/Web-II.skn" //皮肤文件相应的路径与名称

//创建skin对象

ole_1.Object.loadskin(ls_skindir)
ole_1.Object.ApplySkin(Handle(This))
iu_skin=GetDC(Handle(This))
iu_dsktop=GetDC(GetDesktopWindow())

5: 窗口的close事件:

//注销skin对象

ReleaseDC(Handle(This),iu_skin)
ReleaseDC(Handle(This),iu_dsktop)
CloseUserObject(ole_1)

6: ActiveSkin4.27的其它使用方法:

当使用opensheet打开窗口:
w_main下打开w_sheet
ole_1.object.ApplySkin(Handle(w_sheet)) //这句很重要,不要偷懒
ole_1.object.applyskinbyname(handle(w_sheet),"form")

当使用菜单打开窗口
w_main.ole_1.object.ApplySkin(Handle(w_sheet))
w_main.ole_1.object.applyskinbyname(handle(w_sheet),"form")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: