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

[交流] 换肤问题求助。

 火.. [复制链接]
发表于 2010-6-22 18:12:06 | 显示全部楼层 |阅读模式
本帖最后由 guland 于 2010-6-23 16:39 编辑

刚换了 guland  老大的Vista Style,发现一个问题,就是在调用guictrlsetdata()函数更新label的文本时不能及时显现效果,需要将鼠标在别处点击一下或者点击其他控件才能刷新,这是什么原因啊?
 楼主| 发表于 2010-6-22 18:14:21 | 显示全部楼层
回复 1# flyingrabbit


    沙发自己做
发表于 2010-6-22 20:19:20 | 显示全部楼层
观摩一下,看看怎么样
发表于 2010-6-23 09:35:16 | 显示全部楼层
本帖最后由 guland 于 2010-6-23 09:37 编辑

回复 1# flyingrabbit

我测试没有问题啊,检查一下你的源码是不是哪里出错了啊
这垃圾录像软件透明皮肤录不上....我录像里面就是用的vista皮肤

本帖子中包含更多资源

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

×
 楼主| 发表于 2010-6-23 13:50:43 | 显示全部楼层
老大以下是源码。我的机子上还是不行。我从三层函数调用到直接设置都不行。老大帮忙看看。谢谢先。
#include <String.au3>
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WindowsConstants.au3>
#Include <WinAPIEx.au3>

Global $id_init_window                                      ;数据初始化窗口ID
Global $id_init_button_tz                                   ;调整内外网URL按键ID
Global $id_init_radio_ip_ww                                ;外网选择框ID
Global $id_init_radio_ip_nw                                 ;内网选择框ID
Global $id_init_button_cancel                               ;"取消"按键ID
Global $id_init_button_start                 ;"开始"按键ID

;外网URL
Global         $url_net_ex="http://192.168.1.1:9080/SEWeb"
;内网URL
Global         $url_net_in="http://192.168.1.1:9080/SEWeb"



Dim $dll
$re1 = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
$re2 = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
FileInstall("SkinCrafterDll.dll", @TempDir & "\SkinCrafterDll.dll", 1)
FileInstall("WinSenven.skf", @TempDir & "\WinSenven.skf", 1)
FileInstall("a.jpg", @TempDir & "\a.jpg", 1)

;定义要传递贵getURL函数的控件ID数组.数组[0]-启用、禁止控件标志,0-禁止,1-启用;[1]-数组中包含的控件ID数量
        Dim $controlID[20]

        ;创建登陆以及录入项目选择窗口
        $id_init_window=GUICreate("登陆以及录入项目选择",700,460,-1,-1)
        _SkinGUI(@TempDir & "\SkinCrafterDll.dll", @TempDir & "\WinSenven.skf", $id_init_window)

        ;创建“开始”按键。点此按键将开始数据初始化以及数据录入
        $id_init_button_start=GUICtrlCreateButton("开  始",490,425,80,25)
        ;创建“取消”按键。点此按键将推出程序
        $id_init_button_cancel=GUICtrlCreateButton("取  消",590,425,80,25)
       
        ;创建"数据库URL地址选择"组控件
        GUICtrlCreateGroup("数据库URL地址选择",295,10,390,100)
        GUIStartGroup()
        $id_init_radio_ip_ww=GUICtrlCreateRadio("(*)外网:"&$url_net_ex,305,30,270,20)
        $id_init_radio_ip_nw=GUICtrlCreateRadio("内   网:"&$url_net_in,305,55,270,20)
        $id_init_button_tz_w=GUICtrlCreateButton("调  整",590,30,80,20)
        $id_init_button_tz_n=GUICtrlCreateButton("调  整",590,55,80,20)
        GUICtrlCreateLabel("说明:如果您要调整内外网的地址请点击右边的“调整”按键:",305,85,370,20)
        ;默认外网连接
        GUICtrlSetState($id_init_radio_ip_ww,$GUI_CHECKED)  
               
        GUISetState(@SW_SHOW)
       
        While 1
                Dim $url_string
                $msg=GUIGetMsg()
                Select
                        Case $msg=$GUI_EVENT_CLOSE Or $msg=$id_init_button_cancel
                                ;GUIDelete($id_init_window)
                                _WinAPI_AnimateWindow ($id_init_window, BitOR($AW_BLEND, $AW_HIDE),500)
                                Exit
                        Case $msg=$id_init_button_tz_w
                                ;调整外网url
                                ;$url_string=ajustURL($controlID)
                               
                                $url_string="tiaozheng"
                                GUICtrlSetData($id_init_radio_ip_ww,"内  网:"&$url_string)
                               
                        Case $msg=$id_init_button_tz_n
                                ;调整外网url
                                ;$url_string=ajustURL($controlID)
                                $url_string="tiaozheng"
                                GUICtrlSetData($id_init_radio_ip_nw,"内  网:"&$url_string)
                                ;如果返回值不为空,则设置相应数值,并修改config文件
                                If $url_string<>"" Then
                                        ;GUICtrlSetData($id_init_radio_ip_nw,"内  网:"&$url_string)
                                        ;初始化内网url
                                        $url_net_in=$url_string
                                EndIf
                        Case $msg=$id_init_button_start
                EndSelect
        WEnd
       


;定义皮肤函数
Func _SkinGUI($SkincrafterDll, $SkincrafterSkin, $Handle)
        $dll = DllOpen($SkincrafterDll)
        DllCall($dll, "int:cdecl", "InitLicenKeys", "wstr", "10", "wstr", "10", "wstr", "10@10.com", "wstr", "10")
        DllCall($dll, "int:cdecl", "InitDecoration", "int", 1)
        DllCall($dll, "int:cdecl", "LoadSkinFromFile", "wstr", $SkincrafterSkin)
        DllCall($dll, "int:cdecl", "DecorateAs", "int", $Handle, "int", 25)
        DllCall($dll, "int:cdecl", "ApplySkin")
EndFunc   ;==>_SkinGUI
发表于 2010-6-23 15:41:45 | 显示全部楼层
回复 5# flyingrabbit


    晕了...
之前你说是修改label,我测试了一下确实没问题,看了你的源码才知道你是要修改Radio的文本,
我测试了问题跟你说的一样,这应该是皮肤插件对AU3支持不好,论坛里面还有几种皮肤插件你可以试试
都支持vista皮肤的
 楼主| 发表于 2010-6-23 15:55:10 | 显示全部楼层
谢谢老大回复。这点小事也能引起您的重视,非常感谢!!我先试试其他的皮肤。
 楼主| 发表于 2010-6-23 16:09:36 | 显示全部楼层
测试成功!在调用guictrlsetdata()之后再调用guictrlsetstate()刷新一次就行了
 楼主| 发表于 2010-6-23 16:10:31 | 显示全部楼层


结贴了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-24 08:50 , Processed in 0.079352 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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