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")
关于activeskin在PB中运用问题
最新推荐文章于 2013-03-09 08:40:11 发布