[已解决]求助,我如何让两个窗体的位置贴上?
本帖最后由 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 简单。 看我的代码。#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+$Form1Pos,$Form1Pos)
GUISetState(@SW_SHOW,$Form2)
Else
GUISetState(@SW_HIDE,$Form2)
EndIf
EndFunc
Func Quit()
Exit
EndFunc
谢谢楼上兄弟的回复。问题已解决 回复 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 = X 坐标
;$array = Y 坐标
;$array = 宽度
; $array = 高度
If GUICtrlRead($check4)=$GUI_CHECKED Then
WinMove($Form2,"",$Form1Pos+$Form1Pos,$Form1Pos)
;WinMove ( "窗口标题", "窗口文本", X坐标, Y坐标 [, 宽度 [, 高度[,速度]]] )
GUISetState(@SW_SHOW,$Form2)
Else
GUISetState(@SW_HIDE,$Form2)
EndIf
EndFunc
Func Quit()
Exit
EndFunc 完全看不懂。。汗死。。AU3好像很强大啊。。
页:
[1]