Что нового

[Элементы GUI] Есть ли команда для отключения элементов GUI?

RavdonikaS

Новичок
Сообщения
68
Репутация
4
В окне GUI есть несколько картинок на них повешена функция кнопок-выключателей которые запускают определенные функции в скрипте и отключают их при повторном нажатии
Для наглядности процесса хотелось бы при запуске одной из функций подсветить её картинку изображением в виде светящейся рамочки
Но вот при выключении функции надо что бы эта рамочка исчезала - то есть что бы было видно что функция уже не работает
Как вставить эту рамку в GUI вопросов нет а вот как ее потом отключить?
Подскажите пожалуйста
Или другие способы если есть более рациональные как можно выполнить подсветку выбранной картинки-функции


Переменные которых здесь нет расположены в <L2_Constant.au3> (самописный файл в инклудах)

Код:
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <L2_Constant.au3>
$target=0
$control=0
$Party=0
$a=0
Opt("GUIOnEventMode", 1) 
$Okno=GUICreate("Бот",210,70,876,911)
GUISetBkColor(0x76432E)
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
$Control_ON=GUICtrlCreatePic("Контрол Атака.jpg",1,1,34,34)
GUICtrlSetOnEvent($Control_ON, "Control_ON")
$Priom_paty=GUICtrlCreatePic("Пати.jpg",1,36,34,34)
GUICtrlSetOnEvent($Priom_paty, "Priom_paty")
$target=GUICtrlCreatePic("Прицел.jpg",36,36,34,34)
GUICtrlSetOnEvent($target, "target")
$ribalka=GUICtrlCreatePic("Рыбалка.jpg",142,1,34,34)
GUICtrlSetOnEvent($ribalka, "ribalka")
$Pause=GUICtrlCreatePic("Пауза.jpg",176,1,34,34)
GUICtrlSetOnEvent($Pause, "pause")
GUISetState(@SW_SHOW)
WinSetOnTop ("Бот","",1)

WinActivate($x,'')
WinWaitActive($x,'')
While 1	
	If $target=1 Then
		#include "Таргет.AU3"
	EndIf
	If $control=1 Then
		#include "Контрол Lineage.AU3"
	EndIf
	If $Party=1 Then
		#include "Прием Пати.AU3"
	EndIf
WEnd

Func target()
	$target=$target+1
	If $target>1 Then
		$target=0
	EndIf
	WinActivate($x,'')
	WinWaitActive($x,'')
EndFunc
Func Priom_paty()
	$Party=$Party+1
	If $Party>1 Then
		$Party=0
	EndIf
	WinActivate($x,'')
	WinWaitActive($x,'')
EndFunc
Func Control_ON()
	$control=$control+1
	If $control>1 Then
		$control=0
	EndIf
	WinActivate($x,'')
	WinWaitActive($x,'')
EndFunc
Func pause()
	$target=0
	$control=0
	$Party=0
	WinActivate($x,'')
EndFunc
Func Close()
	Exit
EndFunc
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
RavdonikaS
Используй GUICtrlSetState для скрытия элементов с параметром $GUI_HIDE или $GUI_SHOW.
Вообще я под элементом создавал красный квадрат чуть большего размера, это была рамка.
 
Автор
RavdonikaS

RavdonikaS

Новичок
Сообщения
68
Репутация
4
GUICtrlSetState - С ней понятно меняет параметр элемента...
а вот $GUI_HIDE или $GUI_SHOW - переменные записанные в <GUIConstantsEx.au3> расскажи как и куда их вставляять если можно одну строчку с примером $GUI_HIDE

Основную идею понял Создаю для каждой функции элементы с рамочками там где описываются окно и кнопки
потом перед началом цикла их все скрываю через $GUI_HIDE и в каждую функцию вписываю $GUI_SHOW если функция запускается и отображается рамка на соответствующей картинке
Функцию отключаю срабатывает $GUI_HIDE - рамка исчезает.

Как в GUICtrlSetState вписывать эти переменные?
 
Автор
RavdonikaS

RavdonikaS

Новичок
Сообщения
68
Репутация
4
Все нашел русскую справку там все описано спасибо за указанное направление где искать
 
Верх