Что нового

[Массивы] добавление элемента в массив при нажатии клавиши

Александр_

[url=http://autoit-script.ru/index.php?topic=21393
Сообщения
62
Репутация
2
При нажатии клавиши "+" или "-" handle активного окна записывается в один массив либо в другой
почему-то всегда в первый... Что я делаю не так? Как заполнить оба массива полностью?
Код:
Func winButton ()
Dim $wList[2]=[1,2]
Dim $bList[2]=[1,2]
 GUISetState(@SW_HIDE)
 GUISetState(@SW_DISABLE, $mainwindow)
  ; While 1
	  $i=1
	  $j=1
	;  $ex = False
	  Do
	   Select
        Case $w = True
			$i=$i+1
			$wList[$i]=WinGetHandle('[active]') ;$aList[$i][1]
			MsgBox(4096,"w",$wList[$i])
			$w = False
			;$i=$i+1

		Case $b= True
		  	$bList[$i]= WinGetHandle('[active]');$aList[$i][1]
			MsgBox(4096,"b", $bList[$i])
			$b = False
			; $i=$i+1
		;if $ex = True Then ExitLoop
			;MsgBox(0,"","vse")
		 EndSelect

		#cs For $i=1 to 2
			MsgBox (0,"w",$wList[$i])
			MsgBox (0,"b",$bList[$i])
			Next
	;	 Sleep(1000)
	#ce
	  Until _IsPressed("11")=1
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Александр_ [?]
Что я делаю не так?
Не показываете рабочий пример.
На основе примера выше, трудно что то сказать.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Александр_ [?]
При нажатии клавиши "+" или "-" handle активного окна записывается в один массив либо в другой
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Local $wList[1]
Local $bList[1]

$Form = GUICreate("Form1", 105, 64, 192, 114)
$Dummy = GUICtrlCreateDummy()
$Button1 = GUICtrlCreateButton("+", 25, 17, 25, 25)
$Button2 = GUICtrlCreateButton("-", 52, 17, 25, 25)
GUISetState(@SW_SHOW)


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			GUICtrlSendToDummy($Dummy, 1)
		Case $Button2
			GUICtrlSendToDummy($Dummy, 2)
		Case $Dummy
			winButton()
	EndSwitch

WEnd

Exit

Func winButton()

	Switch GUICtrlRead($Dummy)
		Case 1
			GUISetState(@SW_HIDE)
			Sleep(1)
			$wList[0] = WinGetHandle('[active]')
			ConsoleWrite(StringFormat("wList = %s\n", $wList[0]))
			Sleep(1)
			GUISetState(@SW_SHOW)
			Return 1
		Case 2
			GUISetState(@SW_HIDE)
			Sleep(1)
			$bList[0] = WinGetHandle('[active]')
			ConsoleWrite(StringFormat("bList = %s\n", $bList[0]))
			Sleep(1)
			GUISetState(@SW_SHOW)
			Return 1
	EndSwitch

	Return 0
EndFunc
 
Верх