找回密码
 加入
搜索
查看: 3468|回复: 4

[GUI管理] [已解决]求助,我如何让两个窗体的位置贴上?

  [复制链接]
发表于 2010-5-19 10:02:24 | 显示全部楼层 |阅读模式
本帖最后由 awfymwvf 于 2010-5-19 14:07 编辑

如下图



我想点击安装这个按钮,弹出的第二个窗体排在第一个窗体的右边,紧贴着。怎么能实现呢。

我的代码
#include <GUIConstants.au3>
#include <WindowsConstants.au3>

dim $Form2,$Form1,$check4

Opt("GUIOnEventMode", 1)
OnAutoItExitRegister("Quit")

$Form2=GUICreate("安装选项",170,273,-1,-1)

$Form1=GUICreate ( "我的第一个窗口", 484, 273,-1,-1,BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS)) 
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
GUISetState (@SW_SHOW,$Form1)

$check4=GUICtrlCreateCheckbox("安装", 20,235,50,25)
GUICtrlSetOnEvent($check4, "check4")

While 1
  Sleep(1000)
WEnd

Func check4()
        GUISetState(@SW_SHOW,$Form2)
EndFunc

Func Quit()
    GUISetState(@SW_HIDE)
    Exit
EndFunc

本帖子中包含更多资源

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

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-5-19 11:33:54 | 显示全部楼层
简单。 看我的代码。
#include <GUIConstants.au3>
#include <WindowsConstants.au3>

dim $Form2,$Form1,$check4

Opt("GUIOnEventMode", 1)
OnAutoItExitRegister("Quit")

$Form2=GUICreate("安装选项",170,273,-1,-1)
$Form1=GUICreate ( "我的第一个窗口", 484, 273,-1,-1,BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS)) 
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
$check4=GUICtrlCreateCheckbox("安装", 20,235,50,25)
GUICtrlSetOnEvent($check4, "check4")
GUISetState (@SW_SHOW,$Form1)

While 1
  Sleep(1000)
WEnd

Func check4()
        Local $Form1Pos=WinGetPos($Form1)
        If GUICtrlRead($check4)=$GUI_CHECKED Then
                WinMove($Form2,"",$Form1Pos[0]+$Form1Pos[2],$Form1Pos[1])
                GUISetState(@SW_SHOW,$Form2)
        Else
                GUISetState(@SW_HIDE,$Form2)
        EndIf
EndFunc

Func Quit()
    Exit
EndFunc

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-5-19 14:06:35 | 显示全部楼层
谢谢楼上兄弟的回复。问题已解决
发表于 2010-5-19 17:28:32 | 显示全部楼层
回复 3# awfymwvf
有答案更要有注释,方便后来的人阅读并读懂它!
#include <GUIConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)
OnAutoItExitRegister("Quit")

$Form2=GUICreate("安装选项",170,273,-1,-1)
$Form1=GUICreate ( "我的第一个窗口", 484, 273,-1,-1) 
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
$check4=GUICtrlCreateCheckbox("安装", 20,235,50,25)
GUICtrlSetOnEvent($check4, "check4")
GUISetState (@SW_SHOW,$Form1)

While 1
  Sleep(1000)
WEnd

Func check4()
        Local $Form1Pos=WinGetPos($Form1)
                ;返回一个含有下列信息的4维数组: 
        ;$array[0] = X 坐标 
        ;$array[1] = Y 坐标  
        ;$array[2] = 宽度  
       ; $array[3] = 高度  

        If GUICtrlRead($check4)=$GUI_CHECKED Then
                WinMove($Form2,"",$Form1Pos[0]+$Form1Pos[2],$Form1Pos[1])
                                ;WinMove ( "窗口标题", "窗口文本", X坐标, Y坐标 [, 宽度 [, 高度[,速度]]] ) 
                GUISetState(@SW_SHOW,$Form2)
        Else
                GUISetState(@SW_HIDE,$Form2)
        EndIf
EndFunc

Func Quit()
    Exit
EndFunc

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2010-5-20 09:40:29 | 显示全部楼层
完全看不懂。。汗死。。AU3好像很强大啊。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-17 12:08 , Processed in 0.096737 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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