找回密码
 加入
搜索
查看: 9099|回复: 21

[AU3基础] 请教:怎么为窗体加载皮肤。[已解决]

  [复制链接]
发表于 2009-7-10 16:04:28 | 显示全部楼层 |阅读模式
本帖最后由 水木子 于 2010-11-22 17:58 编辑

最近想学习怎么给自己的窗体加载皮肤,让自己的脚本焕然一新,给人赏心悦目的感觉。
通过“搜索”找了好多相关内容,但是大家各说不一,搞得我是云里雾里的,头都看痛了还是不行。
下面是我随意生成的一个窗体代码和加载皮肤的附件,希望高手抽空帮我做一下。(下面的窗体代码是我随意做的,如果有什么不适合或不好的,请大家指点啊!)
我只是想通过高手的简单举例,领悟其中的用法。
望高手不吝赐教啊!先谢谢啦!
#include <WindowsConstants.au3>
$Form1 = GUICreate("窗体", 400, 300)
$Button1 = GUICtrlCreateButton("1", 60, 56, 100, 30, $WS_GROUP)
$Button2 = GUICtrlCreateButton("2", 240, 56, 100, 30, $WS_GROUP)
$Button3 = GUICtrlCreateButton("3", 60, 152, 100, 30, $WS_GROUP)
$Button4 = GUICtrlCreateButton("4", 240, 152, 100, 30, $WS_GROUP)
$Group1 = GUICtrlCreateGroup("7", 32, 24, 337, 185)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button5 = GUICtrlCreateButton("5", 180, 240, 75, 25, $WS_GROUP)
$Button6 = GUICtrlCreateButton("6", 290, 240, 75, 25, $WS_GROUP)
GUISetState()

Do
Until GUIGetMsg() = -3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-7-10 21:14:05 | 显示全部楼层
55555!有高手能帮下忙吗?
发表于 2009-7-10 21:19:47 | 显示全部楼层
 楼主| 发表于 2009-7-10 21:36:00 | 显示全部楼层
http://www.autoitx.com/forum.php?mod=viewthread&tid=1375&highlight=%C6%A4%B7%F4
这里不是讲的很清楚了吗
botanycc 发表于 2009-7-10 21:19

嗯!这些帖子我都看过了,还是不会,
实在没辙了,才出此下策。“哎,太笨了”
发表于 2009-7-10 21:46:20 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-11 15:43 编辑

就你给出的代码,只要将红色部分补上就行了
成功运行效果图:

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("OnExitFunc","Quit");设置在 AutoIt 退出时将调用的函数(Quit)
#Region ### START Koda GUI section ### Form=
$Form = GUICreate("窗体", 401, 301, 284, 194)
Dim $Dll
FileInstall("SkinCrafterDll.dll", @TempDir& "\SkinCrafterDll.dll",1)
FileInstall("vista_style.skf", @TempDir& "\vista_style.skf",1)
$Dll = DllOpen(@TempDir& "\SkinCrafterDll.dll")
DllCall($Dll, "int:cdecl", "InitLicenKeys", "wstr", "1", "wstr", "", "wstr", "
1@1.com", "wstr", "1")
DllCall($Dll, "int:cdecl", "InitDecoration", "int", 1)
DllCall($Dll, "int:cdecl", "LoadSkinFromFile", "wstr", @TempDir& "\vista_style.skf")
DllCall($Dll, "int:cdecl", "DecorateAs", "int", $Form, "int", 25)
DllCall($Dll, "int:cdecl", "ApplySkin")

$Button1 = GUICtrlCreateButton("1", 60, 56, 100, 30, $WS_GROUP)
$Button2 = GUICtrlCreateButton("2", 240, 56, 100, 30, $WS_GROUP)
$Button3 = GUICtrlCreateButton("3", 60, 152, 100, 30, $WS_GROUP)
$Button4 = GUICtrlCreateButton("4", 240, 152, 100, 30, $WS_GROUP)
$Group1 = GUICtrlCreateGroup("7", 32, 24, 337, 185)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button5 = GUICtrlCreateButton("5", 180, 240, 75, 25, $WS_GROUP)
$Button6 = GUICtrlCreateButton("6", 290, 240, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd


;退出加载皮肤
Func Quit()
GUISetState(@SW_HIDE)
DllCall($dll, "int", "DeInitDecoration")
DllCall($dll, "int", "RemoveSkin")
DllClose($dll)
FileDelete ( @TempDir&"\SkinCrafterDll.dll" )
FileDelete ( @TempDir&"\vista_style.skf" )
    Exit
EndFunc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-7-10 22:07:21 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-10 22:09 编辑
55555!有高手能帮下忙吗?
水木子 发表于 2009-7-10 21:14

不怕楼主你不喜欢听
我是最反感这样的求助的了
有些问题回答了N次就没有人再愿意浪费时间在这个问题上的了
多多搜索多多自己摸索

求知当自强
楼主自重吧
 楼主| 发表于 2009-7-10 23:00:33 | 显示全部楼层
本帖最后由 水木子 于 2009-7-10 23:09 编辑
不怕楼主你不喜欢听
我是最反感这样的求助的了
有些问题回答了N次就没有人再愿意浪费时间在这个问题上的了
多多搜索多多自己摸索

求知当自强
楼主自重吧
lynfr8 发表于 2009-7-10 22:07

说点什么好呢!为自己辩护一下?感觉这样太怂了。。。
已经被你批评2次了,我会努力的,只是很多时候实在没辙了才问问的,我也很不想这样的。
搜索是很强大,但是我已经看了很多遍了,也跟着练习了很多遍,但是始终不行。
我真不是那种懒的人,问些无聊的问题或是直接伸手要源码,身边没有一个懂的朋友,希望高手能体谅下新人的痛苦吧!我知道你们有你们的事,你们有你们的烦恼,但是很多时候,你们的一些小的提示或建议会给我这样的新人很大的启发,让我们在学海中少走很多弯路,也会提高我们对知识的求知欲望,因为很多你们觉得是简单得不能再简单的小问题,对新人来说或许都是非常困难的问题,得到你们的帮助,也是新人知识前进的一大步,所以你们的帮助也是我们的财富。(别人我不敢说,至少我每次都将大家帮助解决的办法精心的收藏起来,尤其是一些代码,我都专门备份好几份,以备不时之需)因为我以为它们都是大家智慧的结晶,是值得我们大家学习的。
总之不管怎么说,还是非常感谢你,感谢你们,我会继续努力的。。。
发表于 2009-7-10 23:14:00 | 显示全部楼层
在这个论坛
大家都是求知者
本来就不分高低手
只是在这里没有人是全能的
每个人的兴趣领域不一样
大家五湖四海就这样聚在这里为各自感兴趣的问题探讨
经过论坛的死而复生目前论坛的数据已经有了很大程度的积累了
利用好搜索这个工具学起来即使是新手也是非常快的了
只是au3入门容易提高难
如果提问贴都是一些旧帖就可以解决的问题
没有新的启发点
有些人慢慢就觉得论坛成了菜鸟的教堂了
这样必然导致部分真正技术高超的人淡出论坛
而菜鸟的问题就越来越多是重复的
到最后一个出现一个技术断层
剩下坚持的的人技术都是半桶水
你自己想象一下吧
。。。
论坛想要良性发展
氛围非常重要
既要有人情味又要提高技术层次
有时候真的是很难的
提问题不是不行
只是希望能多提点能提高大家对au3技术应用的问题
而不是那些重复来重复去的问题
让你经常看见你也懒得理了
。。。
稀里糊涂说了一大堆
当我乱喷吧
。。。
发表于 2009-7-10 23:24:05 | 显示全部楼层
另外,向楼主道个歉
希望别因此等小事影响到你
顺祝周末愉快!
 楼主| 发表于 2009-7-10 23:38:26 | 显示全部楼层
本帖最后由 水木子 于 2009-7-10 23:40 编辑

老实说我来本论坛不久,注册时间大概是09年5月份吧!
原来我一直是“自由天空”学习系统封装等相关知识的(当然现在也经常回去,只是相对时间少写了),一次偶然的机会让我接触到了“脚本”这个东西,也许是一见钟情吧,我第一次遇到就深深的迷上了它,对它是万分感兴趣,慢慢的在工作之余和休息时间去学习它、了解它,但是自己的英文水平。。。实在不管说自己懂英文,学习中都是用些很笨很笨的记忆方法,说出来大家可能都会笑话。
好几次看到有人说论坛重开之类的话,心里隐约感觉原来这论坛是不是有事发生过,不敢去多想。
来到本论坛快2个月了,也没为这个“家庭”做点什么,自己真的感觉很渺小,时不时的自己也会去看看别人的提问,看看有没有自己会的,一旦发现有,都想方设法的去回答去给与帮助,因为我深深的知道求助的无奈,当自己的意见和建议被别人采纳,自己也感觉很有成就感(这也许对你们来说已经麻木了吧)。
给我的感觉,本论坛的人流量不大(当然肯定是原来发生过什么)
有时遇到困难的问题解决不了,真的很郁闷,连吃饭、睡觉、走路、坐车、甚至WC都在想,但是往往有很多问题其实挺简单的,就是不能灵活的运行方法,加上自己又不懂英文,从而走很多弯路或根本就没有路(走到死胡同里)这个时候真的需要有人帮忙带路。
我在说什么呢?我也不知道,也许是因为心里有些委屈想吐出来吧!
好了时间不早了,准备休息,明天还得上班!
大家晚安zzzzzzzzz
发表于 2009-7-11 02:21:03 | 显示全部楼层
本帖最后由 lynfr8 于 2009-7-11 02:24 编辑
有时遇到困难的问题解决不了,真的很郁闷,连吃饭、睡觉、走路、坐车、甚至WC都在想

呵呵,同感
...尤其是自己刚开始想认认真真写好一个小工具i-Autoit那段时间
简直就是废寝忘食,对着屏幕狂干。。。
发表于 2009-7-11 09:06:36 | 显示全部楼层
我也是,我还被我老爸禁止上网,现在软磨硬泡,每天可以上20分钟,很郁闷啊
呵呵,同感
...尤其是自己刚开始想认认真真写好一个小工具i-Autoit那段时间
简直就是废寝忘食,对着屏幕狂干。。。
lynfr8 发表于 2009-7-11 02:21
 楼主| 发表于 2009-7-11 09:10:36 | 显示全部楼层
另外,向楼主道个歉
希望别因此等小事影响到你
lynfr8 发表于 2009-7-10 23:24

呵呵!早上好啊!
我们周末最不愉快了,因为我们周末不能休息的。
我们只有周1----周5可以请假休息,周末非特殊情况不能休息。(哎!这就是服务行业的痛苦)
 楼主| 发表于 2009-7-11 12:04:11 | 显示全部楼层
本帖最后由 水木子 于 2009-7-11 12:08 编辑

对了!有个问题再请教下lynfr8大哥
你给的我那段代码我试了,如果使用下面这条命令,运行时就会报此错误。
Opt("OnExitFunc","Quit");设置在 AutoIt 退出时将调用的函数(Quit)
如果去掉这段能正常运行。
我看了其他相关帖子和帮助,说这一条是AutoIt 退出时要用到的,如果不用,退出时会报错,但是我没有用,退出也没有报错。
我想了解下是怎么回事。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-7-11 15:51:42 | 显示全部楼层
这个出错原因没研究过
貌似和个人系统有关
但是退出还是DllClose比较好一点
既然Opt("OnExitFunc","Quit")会出错
可以换个折中一点的办法
Opt("OnExitFunc","Quit")删掉
在关闭GUI时候调用Func Quit()
Case $GUI_EVENT_CLOSE
Quit();加在这里就行了
Exit
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-22 19:45 , Processed in 0.082165 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表