Что нового

[AutoIt]Из списка в список

A

[email protected]

Гость
Здравствуйте , я недавно начал пользоваться AutoIt ранее был опыт с Uopilot но я перешел на другой из за того что в Uopilot нельзя создавать программу,а в AutoIt можно,так вот, я столкнулся с проблемой которую не могу решить:
f818d69ee31519943bc74b7d190f99b3.png

Вот как мне из одного списка,по нажатию кнопки ==>> переместить в другую?
 
Автор
A

[email protected]

Гость
Код:
$napadat = GUICtrlCreateList("", 272, 72, 193, 175)
$Label2 = GUICtrlCreateLabel("Нападать на мобов (охота)", 272, 56, 140, 17)

Код:
$mobs = GUICtrlCreateList("", 32, 72, 193, 188)
GUICtrlSetData(-1, "Бла бла")
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
А пример из справки по

Код:
GUICtrlCreateList


смотрел?
запускал?
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Ну, вот и я сразу вижу что не смотрел.
Потому что пример из справки выглядит вот так

 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Очевидно что удалить из 1 и добавить во 2.
 

Ksaan

Знающий
Сообщения
207
Репутация
15
Для примера
Код:
#include <GUIConstantsEx.au3>
#include <ListBoxConstants.au3>

$hGUI = GUICreate("GUI с элементом списка - List") ; Создаёт окно в центре экрана

 $a1 = GUICtrlCreateButton(">>>>", 170, 30, 60, 25)
 $a2 = GUICtrlCreateButton("<<<<", 170, 60, 60, 25)

$mylist = GUICtrlCreateList("", 10, 10, 150, 190)
GUICtrlSetData(-1, 'Пункт 1|Пункт 2|Пункт 3', 'Пункт 2')
$mylist2 = GUICtrlCreateList("", 240, 10, 150, 190)

GUISetState()

While 1
     Switch GUIGetMsg()
         Case $GUI_EVENT_CLOSE
             Exit
          Case $a1
			  $tmp = GUICtrlRead($mylist)
			  GUICtrlSetData($mylist2, $tmp & "|")
			  $tmp1 = GUICtrlSendMsg($mylist, $LB_GETCURSEL, 0, 0)
			  GUICtrlSendMsg($mylist, $LB_DELETESTRING, $tmp1, $tmp1)
		   Case $a2
			  $tmp = GUICtrlRead($mylist2)
			  GUICtrlSetData($mylist, $tmp & "|")
			  $tmp1 = GUICtrlSendMsg($mylist2, $LB_GETCURSEL, 0, 0)
			  GUICtrlSendMsg($mylist2, $LB_DELETESTRING, $tmp1, $tmp1)
     EndSwitch
WEnd
 
Автор
D

DaymonX

Гость
А как можно выделеному из списка,тексту - присвоить значение?
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Вот так, например

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

$hGUI = GUICreate("GUI с элементом списка - List") ; Создаёт окно в центре экрана

$a1 = GUICtrlCreateButton(">>>>", 170, 30, 60, 25)
$a2 = GUICtrlCreateButton("<<<<", 170, 60, 60, 25)

$e1 = GUICtrlCreateButton("Добавить", 10, 285, 150, 25)
$e2 = GUICtrlCreateButton("Удалить", 10, 240, 150, 25)
$e3 = GUICtrlCreateInput("", 10, 315, 150, 20)

$mylist = GUICtrlCreateList("", 10, 10, 150, 190)
GUICtrlSetData(-1, 'Пункт 1|Пункт 2|Пункт 3', 'Пункт 2')
$mylist2 = GUICtrlCreateList("", 240, 10, 150, 190)

GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit

		Case $a1
			$tmp = GUICtrlRead($mylist)
			If $tmp <> "" Then
				GUICtrlSetData($mylist2, $tmp & "|")
				$tmp1 = GUICtrlSendMsg($mylist, $LB_GETCURSEL, 0, 0)
				GUICtrlSendMsg($mylist, $LB_DELETESTRING, $tmp1, $tmp1)
			EndIf

		Case $a2
			$tmp = GUICtrlRead($mylist2)
			If $tmp <> "" Then
				GUICtrlSetData($mylist, $tmp & "|")
				$tmp1 = GUICtrlSendMsg($mylist2, $LB_GETCURSEL, 0, 0)
				GUICtrlSendMsg($mylist2, $LB_DELETESTRING, $tmp1, $tmp1)
			EndIf

		Case $e1
			$tmp = GUICtrlRead($e3)
			If $tmp <> "" Then
				GUICtrlSetData($mylist, $tmp & "|")
				GUICtrlSetData($e3, "")
			EndIf

		Case $e2
			$tmp1 = GUICtrlSendMsg($mylist, $LB_GETCURSEL, 0, 0)
			If $tmp1 >= 0 Then GUICtrlSendMsg($mylist, $LB_DELETESTRING, $tmp1, $tmp1)

     EndSwitch
WEnd
 
Верх