Что нового

Изменение состояние контрола Label с GUI_ENABLE на GUI_DISABLE по клику мыши

cheslav

Новичок
Сообщения
18
Репутация
0
Версия AutoIt: 3.
v3.3.10.0
Описание:
Добрый день. На форме есть метка. Возможно ли циклически изменять состояние Label с GUI_ENABLE на GUI_DISABLE по клику мыши?

Код:
$LABEL = GUICtrlCreateLabel("Метка", 770, 44, 35, 15)
.
.
.
.
Case $LABEL
						
			If GUICtrlGetState ($LABEL) = 80 Then
			   GUICtrlSetState($LABEL, 128)
			Else
			   GUICtrlSetState($LABEL,80)
			EndIf


Такой вариант работает только в одну сторону. Т.е. получается перевести в состояние GUI_DISABLE, а обратно уже не хочет.


Примечания:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
cheslav, Попробуй использовать не цифры, а именные константы...
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
Код:
#include <GUIConstantsEx.au3>

$hGUI = GUICreate("Test")
$LABEL = GUICtrlCreateLabel("Метка", 20, 20, 35, 15)
GUISetState(@SW_SHOW, $hGUI)

While 1
	$nMsg = GUIGetMsg()

	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
	
	$aCurInfo = GUIGetCursorInfo($hGUI)
	
	If $aCurInfo[2] = 1 Then
		While $aCurInfo[2] = 1
			$aCurInfo = GUIGetCursorInfo($hGUI)
			Sleep(10)
		WEnd
		
		If $aCurInfo[4] = $LABEL Then
			If BitAND(GUICtrlGetState($LABEL), $GUI_ENABLE) Then
				GUICtrlSetState($LABEL, $GUI_DISABLE)
			Else
				GUICtrlSetState($LABEL, $GUI_ENABLE)
			EndIf
		EndIf
	EndIf
WEnd
 
Верх