找回密码
 加入
搜索
楼主: nnlenx

[GUI管理] [已解决]子窗口中按Tab键无效?

 火.. [复制链接]
发表于 2011-5-23 13:29:20 | 显示全部楼层
本帖最后由 131738 于 2011-5-23 13:31 编辑

不指定父窗句柄(或0改为0x00C00000),窗口信息工具根本捕捉不到子窗

等同于不创建子窗!
发表于 2011-5-23 13:31:48 | 显示全部楼层
0x00C00000这是哪几个样式的组合啊
m765555
发表于 2011-5-23 13:32:16 | 显示全部楼层
正是如此,问题已经解决了吗????
发表于 2011-5-23 13:35:09 | 显示全部楼层
回复  m765555


  正是如此,非常感谢!
同时也对给我回复的前辈们表示感谢!谢谢!
nnlenx 发表于 2011-5-23 13:27


你用窗口信息工具看看有无子窗信息。。。或你操作子窗看看有无效果。。。
 楼主| 发表于 2011-5-23 16:06:13 | 显示全部楼层
本帖最后由 nnlenx 于 2011-5-23 16:32 编辑

回复 16# 131738


   果然如前辈所说把0改为0x00C00000,还是有点问题,改了后,子窗口句柄为0了。。。
不能正常操作子窗口了。。。
  其实是在主窗口上直接创建控件了,也就没有创建子窗口了。。。


谁还有高招呀?等待中。。。
发表于 2011-5-23 18:00:46 | 显示全部楼层
路过,看看。。
发表于 2011-5-23 18:05:14 | 显示全部楼层
继续研究一下,呵呵
发表于 2011-5-23 18:05:47 | 显示全部楼层
LZ怎么改成已解决了?
发表于 2011-5-23 21:13:30 | 显示全部楼层
本帖最后由 131738 于 2011-5-23 21:18 编辑
回复  131738


   果然如前辈所说把0改为0x00C00000,还是有点问题,改了后,子窗口句柄为0了。。。
...
nnlenx 发表于 2011-5-23 16:06

也不是 没有创建子窗口了。。。  搞不懂 0x00C00000 是什么?,反正有点怪。。。
#include <GUIConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
;Global $Form0

$Form0 = GUICreate("主窗口", 402, 402, -1, -1)
$Button0 = GUICtrlCreateButton("隐藏子窗", 180, 112, 89, 33);;;;;;;;;;;;;测试按钮
$Form1 = GUICreate("子窗口", 400, 400, 0, 0, $WS_CHILD,0x00C00000,$Form0)
GUISetBkColor(0x99B4D1);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;子窗背景色
$Label1 = GUICtrlCreateLabel("用户名:", 16, 16, 43, 17)
$User = GUICtrlCreateInput("", 72, 16, 169, 21)
GUICtrlSetState(-1, $GUI_FOCUS)
$Label2 = GUICtrlCreateLabel("密码:", 24, 56, 31, 17)
$Password = GUICtrlCreateInput("", 72, 54, 169, 21)
$Button1 = GUICtrlCreateButton("确定", 80, 112, 89, 33)
GUISetState(@SW_SHOW, $Form0)
GUISetState(@SW_SHOW, $Form1)

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $User
                        If _IsPressed("0D") Then
                                MsgBox(0, 0, "按下回车键")
                        EndIf
                        GUICtrlSetState($Password, $GUI_FOCUS)
                Case $Password
                        GUICtrlSetState($Button1, $GUI_FOCUS)
                Case $Button1
                        MsgBox(0, 0, GUICtrlRead($User) & @CRLF & GUICtrlRead($Password))
                Case $Button0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;测试按钮操作
                        GUISetState(@SW_HIDE, $Form1)
        EndSwitch
WEnd
改回为 -1,则操作正常了!!!!!!!!
 楼主| 发表于 2011-5-24 12:34:14 | 显示全部楼层
回复 23# m765555


    原来简单试了一下,认为已解决了,可后来发现还是有问题,可主题改不了了。。。
 楼主| 发表于 2011-5-24 12:35:49 | 显示全部楼层
回复 24# 131738

应该是没有创建子窗口,因为你吧下面这句注释掉再运行,效果是一样的
    ;$Form1 = GUICreate("子窗口", 400, 400, 0, 0, $WS_CHILD,0x00C00000,$Form0)
发表于 2011-5-24 15:04:40 | 显示全部楼层
回复 26# nnlenx

24 楼的代码证实子窗以创建,完全正常的脚本,注释到子窗及其相应操作语句,也能运行的。。。
发表于 2011-5-25 08:19:02 | 显示全部楼层
24楼的代码如何证实子窗口已运行"子窗口"没有看到呀?
 楼主| 发表于 2011-5-25 17:51:44 | 显示全部楼层
回复 18# m765555

现在是采用了 2# 楼 3mile 的办法,基本能达到要求了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-16 15:21 , Processed in 0.073417 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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