Что нового

опредилить переменную окна ($ID) чисто академический интерес

weweWe45s

Новичок
Сообщения
36
Репутация
1
собственно

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $w = 468, $h = 229, $x = 225, $y = 202

$Form1 = GUICreate("Form1", $w,$h,$x,$y, BitOR($WS_SIZEBOX,$WS_THICKFRAME))
$Button1 = GUICtrlCreateButton("Button1", 192, 88, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW,GUICreate("какой ID у этого окна?", $w,$h,$x,$y, BitOR($WS_SIZEBOX,$WS_THICKFRAME)));какой  $ID у окна в скобках 
$Button2 = GUICtrlCreateButton("Button2", 192, 88, 75, 25, $WS_GROUP)

func f1()
	if $xz == 0 Then
		$xz = 1
		GUISetState(@SW_HIDE)
		GUISetState(@SW_SHOW,$Form1)
	ElseIf $xz == 1 Then
		$xz = 0
		GUISetState(@SW_HIDE)
		GUISetState(@SW_SHOW,GUICreate("какой ID у этого окна?", $w,$h,$x,$y,BitOR($WS_SIZEBOX,$WS_THICKFRAME)))
		$Button2 = GUICtrlCreateButton("Button2", 192, 88, 75, 25, $WS_GROUP)
	EndIf
EndFunc

$xz = 0
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			f1()
		Case $Button2
			f1()
	EndSwitch
WEnd


или иначе какое из этих двух окон $Form1
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
weweWe45s
такой код пишут либо от незнания либо под кайфом, чтобы поржать над "чисто академическими вопросами"
 
Автор
W

weweWe45s

Новичок
Сообщения
36
Репутация
1
ну да от нефиг делать но мене вот реально не понятно. я только начал этот ЯП изучать мне можно )
зы а что не так ) об'ясни
 

joiner

Модератор
Локальный модератор
Сообщения
3,570
Репутация
632
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $w = 468, $h = 229, $x = 225, $y = 202,$xz

Local $Form1 = GUICreate("Form1", $w,$h,$x,$y, BitOR($WS_SIZEBOX,$WS_THICKFRAME))
Local $Button1 = GUICtrlCreateButton("Button1", 192, 88, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW,$Form1);какой  $ID у окна в скобках

Local $Form2 = GUICreate("какой ID у этого окна?", $w,$h,$x,$y, BitOR($WS_SIZEBOX,$WS_THICKFRAME))
Local $Button2 = GUICtrlCreateButton("Button2", 192, 88, 75, 25, $WS_GROUP)
GUISetState(@SW_HIDE,$Form2)
func f1()
    If Not $xz Then
        $xz = 1
        GUISetState(@SW_HIDE,$Form1)
        GUISetState(@SW_SHOW,$Form2)
    Else
        $xz = 0
        GUISetState(@SW_SHOW,$Form1)
        GUISetState(@SW_HIDE,$Form2)
    EndIf
EndFunc

While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            f1()
			ConsoleWrite($nMsg[1]& ' - дескриптор окна Form1' & @CRLF)
        Case $Button2
            f1()
			ConsoleWrite($nMsg[1]& ' - дескриптор окна Form2'& @CRLF)
    EndSwitch
WEnd
да, и еще. GuiCreate возвращает дескриптор. Надо читать справку. там все просто объяснено с примерами
 
Автор
W

weweWe45s

Новичок
Сообщения
36
Репутация
1
спасибо то есть через GUIGetMsg() прикольно
зы на радостях не туда кликнул ) поправил
зыы ))

Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>

Global $w = 468, $h = 229, $x = 225, $y = 202, $xz, $trash[1]

$Form1 = GUICreate("Form1", $w,$h,$x,$y, BitOR($WS_SIZEBOX,$WS_THICKFRAME))
$Button1 = GUICtrlCreateButton("Button1", 192, 88, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW,GUICreate("какой ID у этого окна?", $w,$h,$x,$y, BitOR($WS_SIZEBOX,$WS_THICKFRAME)));какой  $ID у окна в скобках
$Button2 = GUICtrlCreateButton("Button2", 192, 88, 75, 25, $WS_GROUP)

ConsoleWrite(WinGetHandle ($Form1)& ' стартовое окно это окно постоянное'& @CRLF)

func f1()
    if $xz == 0 Then
        $xz = 1
        GUISetState(@SW_HIDE)
        GUISetState(@SW_SHOW,$Form1)
    ElseIf $xz == 1 Then
        $xz = 0
        GUISetState(@SW_HIDE)
        GUISetState(@SW_SHOW,GUICreate("какой ID у этого окна?", $w,$h,$x,$y,BitOR($WS_SIZEBOX,$WS_THICKFRAME)))
        $Button2 = GUICtrlCreateButton("Button2", 192, 88, 75, 25, $WS_GROUP)
    EndIf
EndFunc

$xz = 0
While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[0]
	Case $GUI_EVENT_CLOSE
			for $i = 1 to UBound($trash) - 1 Step 1
				ConsoleWrite($trash[$i] & @CRLF)
				GUISetState(@SW_SHOW, $trash[$i])
				Sleep(5000)
				GUISetState(@SW_HIDE, $trash[$i])
			Next
			_ArrayDisplay($trash)
			ExitLoop
        Case $Button1
            f1()
			ConsoleWrite($nMsg[1]& ' - 1 это окно постоянное'& @CRLF)
			$Form1 = $nMsg[1]
		
        Case $Button2
            f1()
			$Form2 = $nMsg[1]
			_ArrayInsert($trash, 1, $Form2)
			ConsoleWrite($nMsg[1]& ' - 2 вновь созданное окно '& @CRLF)
    EndSwitch
WEnd
 
Верх