jybb001 发表于 2009-12-24 01:29:12

我也遇到同样的问题了,想问的,没想到还真的搜到了。
没有知道怎么解决吗?

jybb001 发表于 2009-12-24 01:35:37

没办法,又非要用的话,只能用比较麻烦的办法解决了,不过感觉有点太麻烦。
解决办法就是检测当前选中的TAB页,把其它TAB页的控件隐藏了。就像在TAB中使用中IP地址输入框的解决办法那样。就是太麻烦。

jybb001 发表于 2009-12-24 02:32:26

本帖最后由 jybb001 于 2009-12-25 02:06 编辑

我已经解决了,控制隐藏都不能用,
函数返回明明是成功了,可是就是不起作用。
只好先用GUICtrlDelete
再GUICtrlCreate***
判断及实现代码如下(我这里发的是我自己的代码。)
效果对比:
开始:

之后:

函数注册:GUICtrlSetOnEvent($Tab1,"ipxy")
处理函数:Func ipxy();
Switch GUICtrlRead($Tab1)
      Case 0

    guiswith($form_2);------------------重新创建控件之前一定要用GUISwitch()切换回 GUI 函数的"当前"窗口.不然的话新创建的控件将不可见

    $hyc22 = GUICtrlCreateInput("", 144, 61, 209, 21)
    GUICtrlSetOnEvent(-1, "hyc22Change")
    $ggb22 = GUICtrlCreateEdit("", 144, 102, 150, 73)
    GUICtrlSetData(-1, "Edit1")
    GUICtrlSetOnEvent(-1, "ggb22Change")
    $pifu22 = GUICtrlCreateInput("", 144, 215, 145, 21)
    GUICtrlSetOnEvent(-1, "pifu22Change")
   $bt22 = GUICtrlCreateInput("", 144, 272, 209, 21)
    GUICtrlSetOnEvent(-1, "bt22Change")
ControlClick("","",$hyc22)   ;不点击的情况下,输入框的边框显不出来好难看。(第一张图)
ControlClick("","",$bt22)
ControlClick("","",$ggb22)
ControlClick("","",$pifu22)
ControlClick("","",$hyc22)
    _GUICtrlIpAddress_ShowHide($IPAddress1,@SW_HIDE)
      shuchushouju()
      Case 1
                GUICtrlDelete($hyc22)
            GUICtrlDelete($ggb22)
                GUICtrlDelete($bt22)
                GUICtrlDelete($pifu22)
    _GUICtrlIpAddress_ShowHide($IPAddress1,@SW_HIDE)
      Case 2
         _GUICtrlIpAddress_ShowHide($IPAddress1,@SW_SHOW)
                GUICtrlDelete($hyc22)
                GUICtrlDelete($ggb22)
                GUICtrlDelete($bt22)
                GUICtrlDelete($pifu22)

      EndSwitch
EndFunc
guiswith($form_2);--重新创建控件之前一定要用GUISwitch()切换回 GUI 函数的"当前"窗口.不然的话新创建的控件将不可见

chenronting 发表于 2009-12-24 16:07:35

很好。 的东西啊。。 感谢分享
页: 1 [2]
查看完整版本: 加载皮肤后Tab中的控件不能正常显示?