gzh888666 发表于 2011-12-19 13:10:32

she皮肤问题

本帖最后由 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

menfan1 发表于 2011-12-19 13:40:15

做个板凳,支持一下哈。。我也想知道呵呵

3mile 发表于 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


menfan1 发表于 2011-12-19 14:40:49

能处理按钮等控件就好啦

gzh888666 发表于 2011-12-19 14:49:16

回复 3# 3mile


    看来是无法实现了!这个有其他的办法解决吗?

半芯蕃茄 发表于 2011-12-19 20:25:04

嗯,我也正想问这个问题,确实是使用了SHE皮肤后无法设置字体的颜色。

andersonljw 发表于 2011-12-20 08:10:36

这个问题确实值得商榷

楼上风云 发表于 2011-12-20 11:18:23

试试SendMessage

gzh888666 发表于 2011-12-20 15:39:07

回复 8# 楼上风云

看了一下,不明白如何使用,求教使用方法?

pingfan5888 发表于 2011-12-25 12:52:46

可惜啊。文本不能设置
页: [1]
查看完整版本: she皮肤问题