找回密码
 加入
搜索
查看: 4208|回复: 9

[GUI管理] she皮肤问题

  [复制链接]
发表于 2011-12-19 13:10:32 | 显示全部楼层 |阅读模式
本帖最后由 gzh888666 于 2011-12-19 13:13 编辑

请教一下用she皮肤后如何改变Label静态标签的颜色
GUICtrlSetColor不起作用了。
附上dll、she皮肤、调用脚本,那个仁兄能提供一下dll完整的调用函数说明,感激不尽!
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

FileInstall("aero.she",@ScriptDir  & "aero.she")
FileInstall("Skin.dll",@ScriptDir  & "Skin.dll")
$skins=@ScriptDir & "aero.she"
$Dll = DllOpen(@ScriptDir & "Skin.dll")
DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
DllCall($Dll, "int", "SkinH_SetAero", "int", 1)

$Form1 = GUICreate("test .she skin", 634, 455, 791, 169)
$Label1 = GUICtrlCreateLabel("Label1", 80, 48, 127, 52)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
WEnd

本帖子中包含更多资源

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

×
发表于 2011-12-19 13:40:15 | 显示全部楼层
做个板凳,支持一下哈。。我也想知道呵呵
发表于 2011-12-19 14:35:02 | 显示全部楼层
#cs ____________________________________

脚本目的:利用.she换肤窗口
    准备工作:
                1.必须文件:皮肤文件.she和USkin.dll;
    窗口换肤过程:
                1.fileinstall()所需文件;
                2.定义变量$skins和$DLL_存储换肤文件;
                3.利用DLLCALL()启用皮肤。
        注意事项:
                1。注意用fileinstall()载入文件的源路径必须是字符不能有变量;
                2.注意路径“\”符号必须存在,否则因路径导致无法找到更换皮肤所需文件;
                3.注意退出时将载入文件删除。
#ce _______________脚本开始_________________
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


FileInstall("aero.she",@ScriptDir  & "aero.she")
FileInstall("Skin.dll",@ScriptDir  & "Skin.dll")
$skins=@ScriptDir & "aero.she"
$Dll = DllOpen(@ScriptDir & "Skin.dll")
DllCall($Dll, "int", "SkinH_AttachEx", "str", $skins, "str", "mhgd")
DllCall($Dll, "int", "SkinH_SetAero", "int", 1)

$Form1 = GUICreate("test .she skin", 634, 455, -1, 169)
$Label1 = GUICtrlCreateLabel("Label1", 80, 48, 127, 52)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)

$check1 = GUICtrlCreateCheckbox("CheckBox", 80, 148, 200, 52)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")

$radio1 = GUICtrlCreateRadio("Radio", 80, 248, 127, 52)
GUICtrlSetFont(-1, 30, 400, 0, "MS Sans Serif")

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


DllCall($Dll, "int", "SkinH_SetForeColor", "HWND", GUICtrlGetHandle($Label1), "int", 255,"int",0,"int",0)
DllCall($Dll, "int", "SkinH_SetForeColor", "HWND", GUICtrlGetHandle($check1), "int", 255,"int",0,"int",0)
DllCall($Dll, "int", "SkinH_SetForeColor", "HWND", GUICtrlGetHandle($radio1), "int", 255,"int",0,"int",0)

;~ DllCall($Dll, "int", "SkinH_DetachEx", "HWND", GUICtrlGetHandle($Label1))

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd


本帖子中包含更多资源

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

×

评分

参与人数 1金钱 +20 贡献 +5 收起 理由
gzh888666 + 20 + 5

查看全部评分

发表于 2011-12-19 14:40:49 | 显示全部楼层
能处理按钮等控件就好啦
 楼主| 发表于 2011-12-19 14:49:16 | 显示全部楼层
回复 3# 3mile


    看来是无法实现了!这个有其他的办法解决吗?
发表于 2011-12-19 20:25:04 | 显示全部楼层
嗯,我也正想问这个问题,确实是使用了SHE皮肤后无法设置字体的颜色。
发表于 2011-12-20 08:10:36 | 显示全部楼层
这个问题确实值得商榷
发表于 2011-12-20 11:18:23 | 显示全部楼层
试试SendMessage
 楼主| 发表于 2011-12-20 15:39:07 | 显示全部楼层
回复 8# 楼上风云

看了一下,不明白如何使用,求教使用方法?
发表于 2011-12-25 12:52:46 | 显示全部楼层
可惜啊。文本不能设置
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-6 05:28 , Processed in 0.093629 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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