Что нового

[Окна, Диалоги] помогите настроить лог

andreitrane

Новичок
Сообщения
141
Репутация
3
хочу написать прогу, но столкнулся с проблемой
привел пример окна с логом, при нажатии первой кнопки в логе появляется надпись, при нажатии второй кнопки появляется вторая надпись, но если опять нажать первую или вторую кнопку, то новая надпись не появляется, а просто выделяется старая, как сделать чтобы появлялась новая надпись?? если я написал правильно, то покажите условие для этого на моем коде, а если написал не правильно, то покажите свой код
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Dialog", 227, 187, 369, 244)
$Button2 = GUICtrlCreateButton("Button2", 104, 152, 81, 25)
$List1 = GUICtrlCreateList("", 8, 8, 209, 136)
$Button1 = GUICtrlCreateButton("Button1", 24, 152, 73, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			GUICtrlSetData($List1, "кнопка1")
			Case $Button2
			GUICtrlSetData($List1, "кнопка2")

	EndSwitch
WEnd
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
что за мода такая пошла, приводить из Коды базовый кусок, который по сути ничего не делает. уж лучше вообще не приводить его в пример.
где у тебя в коде новая надпись? у тебя там только две надписи, Button и Кнопка. Что ты хочешь чтобы там еще было?
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
я имел ввиду когда нажимаешь первую кнопку, появляется надпись "кнопка1", я хочу сделать так, чтобы при повторном нажатии button1 снова появилась надпись "кнопка1" на новой строке и чтобы старая не заменялась, а при моем скрипте при повторном нажатии button1 та же надпись на новой строке не появляется, а выделяется предидущая, вот я и хочу чтобы или мой скрипт исправили, или чтобы дали свой
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
andreitrane
я хочу сделать так, чтобы при повторном нажатии button1 снова появилась надпись "кнопка1" на новой строке

Из справки!
Remarks

For Combo or List control :
If the "data" corresponds to an already existing entry it is set as the default.
If the "data" starts with GUIDataSeparatorChar or is an empty string "" the previous list is destroyed.

Можно так.

Вариант 1
Код:
;...
Dim $a = 0
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
			$a += 1
            GUICtrlSetData($List1,  "кнопка 1-" & $a)
		Case $Button2
			$a += 1
            GUICtrlSetData($List1, "кнопка 2-" & $a)

    EndSwitch
WEnd
;...


Вариант 2
Код:
;...
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
			GUICtrlSetData($List1,  "")
            GUICtrlSetData($List1,  "кнопка 1")
		Case $Button2
			GUICtrlSetData($List1,  "")
            GUICtrlSetData($List1, "кнопка 2")

    EndSwitch
WEnd
;...
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
второй код не работает((( а как можно сделать тоже самое, только не с list, а с input??
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
andreitrane
почитать справку! она небольшая, но очень полезная. и еще
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

"[Окна, Диалоги] помогите настроить лог " - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, Модератор раздела.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
andreitrane [?]
второй код не работает(((
Странно :scratch: У меня всё работает :smile:
Второй вариант, будет выводить надпись только в первую строку, тем самым, сменяя старую запись новой!
 
Автор
A

andreitrane

Новичок
Сообщения
141
Репутация
3
Второй вариант, будет выводить надпись только в первую строку, тем самым, сменяя старую запись новой!

да, она работает, но не так, как надо мне, нужно чтобы каждая новая надпись, даже если она неоднократно повторяется, появлялась на новой строке. Можно сделать так с Input, а не с List?
 

VladUs

Скриптер
Сообщения
621
Репутация
182
Код:
#include <EditConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Dialog", 227, 187, 369, 244)
$Button2 = GUICtrlCreateButton("Button2", 104, 152, 81, 25)
$List1 = GUICtrlCreateInput("", 8, 8, 209, 136,$ES_MULTILINE)
$Button1 = GUICtrlCreateButton("Button1", 24, 152, 73, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

;...
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            GUICtrlSetData($List1,  "кнопка 1"& @CRLF, @CRLF)
        Case $Button2
            GUICtrlSetData($List1, "кнопка 2" & @CRLF, @CRLF)

    EndSwitch
WEnd
 
Верх