[Помощь] Как спрятать некоторые элементы GUI?
|
|
Slash1200 |
Дата: Воскресенье, 30.10.2016, 01:02 | Сообщение # 1
|
Новичок
Сообщений: 9
Статус: Offline
|
Доброго времени суток. Итак, собрался переделывать интерфейс моего АХК-скрипта, но столкнулся с проблемой - не могу спрятать элементы при нажатии кнопки. Например, нажимаю кнопку "Информация", выдвигается окно вправо и там появляется сие чудо
 Нужно чтобы эти элементы прятались при нажатии на клавишу "Настройки" (клавиши выполнены из изображений) и на их месте появлялись другие элементы. Надеюсь суть поняли. Вот кусок кода, ежели нужон.
Код Gui, Color, 30302e Gui, Add, Picture, x2 y0 w210 h70 vInf gInf, C:\Users\Username\Desktop\Без имени-1.png Gui, Add, Picture, x2 y70 w210 h70 vSet gSet, C:\UsersUsername\Desktop\Без имени-2.png Gui, Add, Picture, x2 y140 w210 h70 vKs gKs, C:\Users\Username\Desktop\Без имени-3.png Gui, Add, Picture, x2 y210 w210 h70 vFunc gFunc, C:\Users\Username\Desktop\Без имени-4.png Gui, Add, Picture, x2 y280 w210 h70 vLead gLead, C:\Users\Username\Desktop\Без имени-5.png Gui, Show, w210 h350, AHK User wide = 210 return
Inf: { if wide = 210 { Gui, Show, w691 h350, AHK User Test GUI | Information wide := 691 Gui, Font, S8 CC0C0C0 Gui, Add, GroupBox, x220 y10 w460 h80 +Center, Данные об игроке Gui, Add, Text, x230 y30 w160 h20 +Center, Имя: %MyName% %Family% Gui, Add, Text, x230 y60 w160 h20 +Center, Звание: %nrang% Gui, Add, Text, x400 y30 w100 h20 +Center, Номер: %Phone% Gui, Add, Text, x510 y30 w160 h20 +Center, Организация: %Frak% Gui, Add, Text, x400 y60 w100 h20 +Center, Ранг: %rangn% Gui, Add, Text, x510 y60 w160 h20 +Center, Должность: %drang% Gui, Add, Text, x230 y100 w440 h20 +Center, Чтобы изменить ваши данные`, войдите в пункт "Настройки" Gui, Add, Picture, x210 y140 w210 h70 vHelp gHelp, C:\Users\Username\Desktop\Без имени-6.png Gui, Add, Text, x450 y140 w220 h70 +Center, Чтобы вызвать подсказку в игре`, введите /ahkhelp. Данная функция в некоторых случаях может крашнуть игру`, причина неясна. Test1Open = True } else { if (Test1Open != "True") { Gui, Show, w691 h350, AHK User Test GUI | Information MsgBox, Test1 { Test1Open = True Test2Open = False Test3Open = False Test4Open = False Test5Open = False } } else { Gui, Show, w210 h350, AHK User wide := 210 Test1Open = False } } Return }
Set: { Gui, Destroy if wide = 210 { Gui, Show, w691 h350, AHK User Test GUI | Settings wide := 691 Test2Open = True } else { if (Test2Open != "True") { Gui, Show, w691 h350, AHK User Test GUI | Settings MsgBox, Test2 { Test1Open = False Test2Open = True Test3Open = False Test4Open = False Test5Open = False } } else { Gui, Show, w210 h350, AHK User wide := 210 Test2Open = False } } Return }
Сообщение отредактировал Slash1200 - Воскресенье, 30.10.2016, 01:06 |
|
|
|
McFree_ |
Дата: Воскресенье, 30.10.2016, 01:26 | Сообщение # 2
|
В рядах СМ.
Сообщений: 321
Статус: Offline
|
На просторах официального форума autohotkey есть тема про систему вкладок через таб
Помогаю новичкам! По всем вопросам в ЛС!
|
|
|
|
Slash1200 |
Дата: Воскресенье, 30.10.2016, 18:47 | Сообщение # 3
|
Новичок
Сообщений: 9
Статус: Offline
|
McFree_, Тю, дак не очень то и красиво получается. Да я и по другому сделал через Gui, 2:Show и т.д, но хотелось бы так, как на скрине. Может Додумаюсь как-нибудь. Добавлено (30.10.2016, 18:40) --------------------------------------------- Итак, новый вопросец.
Код Set: { if SetOpened != 1 { Gui, 2:Show, Hide Gui, 4:Destroy Gui, 5:Destroy Gui, 6:Destroy Gui, 3:Color, 30302e Gui, 3:Add, Edit, x162 y10 w100 h20 vMyName, %MyName% Gui, 3:Add, Edit, x162 y40 w100 h20 vFamily, %Family% Gui, 3:Add, Edit, x162 y70 w100 h20 vPhone, %Phone% Gui, 3:Add, Edit, x162 y160 w100 h20 vdrang, %drang% IniRead, MyName, %DIRSET%, Pers, Name IniRead, Family, %DIRSET%, Pers, Fam IniRead, Sex, %DIRSET%, Pers, Sex IniRead, nrang, %DIRSET%, Pers, Rang1 IniRead, drang, %DIRSET%, Pers, Rang2 IniRead, rangn, %DIRSET%, Pers, Rang3 IniRead, rTeg, %DIRSET%, Pers, Teg1 IniRead, fTeg, %DIRSET%, Pers, Teg2 IniRead, Phone, %DIRSET%, Pers, Phone IniRead, Frak, %DIRSET%, Pers, Frak Gui, 3:Add, DropDownList, x162 y100 w100 h50 vFrak , СВ|ВВС|ВМФ GuiControl, ChooseString, Frak, %Frak% if Frak = ВМФ { Gui, 3:Add, DropDownList, x162 y130 w100 h50 vnrang, Матрос|Ст.Матрос|Мичман|Ст.Мичман|Лейтенант|Капитан-Лейтенант|Кап. 3-го ранга|Кап. 2-го ранга|Кап. 1-го ранга|Адмирал } else { Gui, 3:Add, DropDownList, x162 y130 w100 h50 vnrang, Рядовой|Ефрейтор|Сержант|Старшина|Лейтенант|Капитан|Майор|Подполковник|Полковник|Генерал } GuiControl, ChooseString, nrang, %nrang% Gui, 3:Add, DropDownList, x162 y190 w100 h40 vSex, Мужской|Женский GuiControl, ChooseString, Sex, %Sex% Gui, 3:Add, Edit, x162 y250 w100 h20 vrTeg, %rTeg% Gui, 3:Add, Edit, x162 y280 w100 h20 vfTeg, %fTeg% Gui, 3:Show, x829 y331 w436 h350, Ministry of Defense | Settings Gui, 3:Font, S8 CC0C0C0, Verdana Gui, 3:Add, Text, x12 y10 w100 h20 +Center, Имя Gui, 3:Add, Text, x12 y40 w100 h20 +Center, Фамилия Gui, 3:Add, Text, x12 y70 w100 h20 +Center, Номер Gui, 3:Add, Text, x12 y100 w100 h20 +Center, Организация Gui, 3:Add, Text, x12 y130 w100 h20 +Center, Звание Gui, 3:Add, Text, x12 y160 w100 h20 +Center, Должность Gui, 3:Add, Text, x12 y220 w400 h20 +Center, [!]Если тег в рации отсутствует`, введите прочерк (-)[!] Gui, 3:Add, Text, x12 y190 w100 h20 +Center, Пол Gui, 3:Add, Text, x12 y250 w100 h20 +Center, Тег /r Gui, 3:Add, Text, x12 y280 w100 h20 +Center, Тег /f Gui, 3:Add, Text, x12 y310 w400 h20 +Center, Имя может быть как на русском`, так и на английском Gui, 3:Add, Picture, x282 y10 w130 h50 gSaveButton, C:\Users\Username\Desktop\Без имени-8.png Gui, 3:Add, Picture, x282 y70 w130 h50 , C:\Users\Username\Desktop\Без имени-9.png Gui, 3:Add, GroupBox, x282 y120 w130 h90 , Gui, 3:Add, Text, x292 y130 w110 h80 , Для применения нажмите "Сохранить". Чтобы сбросить поля`, нажмите "Сбросить" SetOpened = 1 InfOpened = 0 KsOpened = 0 LeadOpened = 0 FuncOpened = 0 return } else { Gui, 3:Show, Hide SetOpened = 0 return } return } Если использовать Gui, Show, Hide, то дает ошибку The same variable cannot be used for more than one control. Specifically: vMyName. Но если использовать Gui, Destroy, то значение в DropDownList исчезает, чего я не хочу. На буржуйских форумах что-то есть, но для меня как-то слишком все сложно. GuiControl, ChooseString не помогает, не появляется все-равно. Даже IniRead пробовал ставить чтобы считывало - без результатов.. Да и как при выборе, например, фракции ВМФ, в списке званий сразу появлялись звания ВМФ, а не после сохранения?Добавлено (30.10.2016, 18:47) --------------------------------------------- Упс, забыл добавить 3: к ChooseString, так что теперь остается вопрос со списком званий..
|
|
|
|
MrGPro |
Дата: Понедельник, 31.10.2016, 00:30 | Сообщение # 4
|
Боец
Сообщений: 202
Статус: Offline
|
Slash1200, Вот по первому вопросу (используя Tab - Control) - пример который набросал
Код Gui, Add, Button, gSH x5 y65 w150 h45, ай Gui, Add, Button, gHD x5 y15 w150 h45, оп Gui, Add, Tab, vTB x170 y-23 w405 h260, 1|2 Gui, Tab, 1 Gui, Add, Edit, x185 y60 w44 h21, Edit Gui, Add, GroupBox, x370 y145 w140 h57, GroupBox Gui, Add, Checkbox, x205 y145 w71 h13, CheckBox Gui, Add, ComboBox, x375 y75 w120 h21, ComboBox Gui, Tab, 2 Gui, Add, Edit, x175 y60 w44 h21, Edit Gui, Add, GroupBox, x360 y145 w140 h57, GroupBox Gui, Add, ComboBox, x365 y75 w120 h21, ComboBox Gui, Show, w603 h308, return
SH: GuiControl, Choose, TB, 2 return
HD: GuiControl, Choose, TB, 1 return
GuiClose: ExitApp ; This Gui is generated by X-GUI Creator
Добавлено (31.10.2016, 00:30) --------------------------------------------- А вот насчет списка
Код MSElist = Выбери||1|2|3| TMSlist = Выбери||4|5|6|
Gui, Add, DropDownList, vBuilding gBSwitch, MSE||TMS| Gui, Add, DropDownList, vName, %MSElist% Gui, Show Return
BSwitch: GuiControlGet, Building If Building=MSE { GuiControl, , Name , %MSElist% Return } If Building=TMS { GuiControl, , Name , %TMSlist% Return } Return
GuiClose: Exitapp
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Понедельник, 31.10.2016, 00:36 |
|
|
|
Slash1200 |
Дата: Понедельник, 31.10.2016, 10:57 | Сообщение # 5
|
Новичок
Сообщений: 9
Статус: Offline
|
Цитата MrGPro (  ) А вот насчет списка Окей, вроде получается, но при переключении MSElist остается выше, чего не надо, а если обратно переключиться на MSElist, то он прибавляется ниже к TMS
|
|
|
|
MrGPro |
Дата: Понедельник, 31.10.2016, 18:48 | Сообщение # 6
|
Боец
Сообщений: 202
Статус: Offline
|
Slash1200, это я по привычка убери: Выбери| - получается эсли тег не закрыт плючуеться
Код TMS = Выберите
Gui, Add, DropDownList, vBuilding gBSwitch, Выберите||MSE|TMS| Gui, Add, DropDownList, vName, %TMS% Gui, Show Return
BSwitch: GuiControlGet, Building If Building=MSE { GuiControl,, Name, | GuiControl,, Name, %TMS%||Нуб|Нубочек|Задрот| Return }
If Building=TMS { GuiControl,, Name, | GuiControl,, Name, %TMS%||Задрот|Играешь|Круто| Return } Return
GuiClose: Exitapp
Тебе помогли не забывай про благодарность >> тыкни репутацию ---------------------------------------͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏̏͋͋' ͡ ͋̏̏̏̏̏̏̏̏̏ ----------------------------------------------------- Зам.Администратора на проекте "DayZ Epoсh SPN" сервер Arma 2OA DayZ Epoch пиратка и лицензия
Сообщение отредактировал MrGPro - Понедельник, 31.10.2016, 19:06 |
|
|
|
Slash1200 |
Дата: Понедельник, 31.10.2016, 22:01 | Сообщение # 7
|
Новичок
Сообщений: 9
Статус: Offline
|
MrGPro, Thanks! + в репу
|
|
|
|