1

Тема: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Пытаюсь спрятать Edit, но оставить "его" UpDown:

Gui, Add, Edit, hide
Gui, Add, UpDown

  но они прячутся оба. Пробовал поиграть с "+" и "-", но безрезультатно.
   Что можно сделать?

2

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Gui, Add, Edit, hide
Gui, Add, UpDown, -16
Gui, Show
Return

А смысл затеи можете рассказать?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3 (изменено: serzh82saratov, 2013-08-09 16:46:55)

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

"его" UpDown

не заметил.

Gui, Add, Edit, vEdit
Gui, Add, UpDown 
GuiControl, hide, Edit
Gui, Show 
Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4 (изменено: Pokerist, 2013-08-09 18:32:26)

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

serzh82saratov пишет:
Gui, Add, Edit, vEdit
Gui, Add, UpDown 
GuiControl, hide, Edit
Gui, Show 
Return

  Спасибо, работает!



serzh82saratov пишет:

А смысл затеи можете рассказать?

  Да. Мне это показалось лучшим выходом из ситуации с ограничением изменения UpDown только единицу.

Я его присваиваю к другому Edit, который будет спрятан, считываю значение и делю на 100. Полученное значение отправляю в видимый Edit. Получается приращение по 0.01.  Нашеёл перед этим код строка на 40, но ничего в нём не понял. А так - работает. 

  Наверное, можно как-то изящнее осуществить?

5 (изменено: serzh82saratov, 2013-08-09 18:57:30)

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Наверное, можно как-то изящнее осуществить?

Ну можно так попробовать:

Gui, Add, Edit, vEdit Center w100
Gui, Add, UpDown, vUpDown gUpDown Horz Wrap wp Range0-10000
Gui, Show 

UpDown: 
    GuiControl,, Edit, % Round(UpDown / 100, 2)
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

6

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Я бы так сделал:

Gui, Add, Edit, vEdit
Gui, Add, UpDown, vMyUpDown gMyUpDown
Gui, Show 
Return

GuiClose:
   ExitApp

MyUpDown:
   GuiControlGet, Number,, MyUpDown
   GuiControl,, Edit, % Number = 0 ? 0 : Round(Number/100, 2)
   return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7 (изменено: serzh82saratov, 2013-08-09 19:10:57)

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Pokerist
Ещё можно так, если нужно значение при старте.


Gui, Add, Edit, vEdit Center w60
Gui, Add, UpDown, vUpDown gUpDown Horz Wrap wp Range0-10000, 5000
GuiControlGet, UpDown
Gui, Show

UpDown: 
    GuiControl,, Edit, % Round(UpDown / 100, 2)
    Return

teadrinker
Каков смысл?

GuiControlGet, Number,, MyUpDown
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

8

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Да, можно и без этого:

Gui, Add, Edit, vEdit
Gui, Add, UpDown, vMyUpDown gMyUpDown
Gui, Show 
Return

GuiClose:
   ExitApp

MyUpDown:
   GuiControl,, Edit, % MyUpDown = 0 ? 0 : Round(MyUpDown/100, 2)
   return

Разница между твоим кодом и моим в том, что твой делает отсчёт по кругу, после 0.00 появляется 100.00.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

9

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Разница между твоим кодом и моим в том, что твой делает отсчёт по кругу, после 0.00 появляется 100.00.

Так это я опцию "Wrap" добавил (просто так).

Разница ещё и в том, что твой UpDown присоединённый, и в этом случае происходит выделение текста (из за GuiControl) при каждом изменении, то бишь - мелькание.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

10 (изменено: serzh82saratov, 2013-08-10 06:23:15)

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Если нужен "дефолтный" вид то можно так:

Gui, Add, Edit, vEdit Center, 010000
Gui, Add, UpDown, vUpDown gUpDown -16 hp x+-1 Range0-10000, 5000
GuiControlGet, UpDown
Gui, Show

UpDown: 
    GuiControl,, Edit, % Round(UpDown / 100, 2)
    Return

Или так:

Gui, Font, s55 bold, LCDMono2
Gui, Add, Edit, vEdit Center, 100000
Gui, Add, UpDown, vUpDown gUpDown -16 w44 hp x+0 Range0-10000, 5000
GuiControl, Move, UpDown, w44
GuiControlGet, UpDown
Gui, Show

UpDown: 
    GuiControl,, Edit, % Round(UpDown / 100, 2)
    Return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Спасибо! Все способы хорошие и все работают.

12

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Не всё так просто оказалось.  Ручной ввод ведь никто не отменял и обратная связь тоже нужна.  Но применить тот же трюк не получается из-за рекурсии.
  Какой может быть выход из ситуации?

13 (изменено: serzh82saratov, 2013-08-10 19:29:08)

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Так?


Gui, Font, s55 bold, LCDMono2
Gui, Add, Edit, vEdit gEdit Center Number, 100000
Gui, Add, UpDown, vUpDown gUpDown -16 w44 hp x+0 Range0-10000, 5000
GuiControl, Move, UpDown, w44
GuiControlGet, UpDown
Gui, Show

UpDown: 
    GuiControl,, Edit, % Round(UpDown / 100, 2)
    Return
    
Edit:
    GuiControlGet, Edit 
    GuiControl,, UpDown, % Edit*100
    Return 

/* Ну или на всякий так:

Edit: 
    GuiControlGet, Edit
    If (Edit < 0 || Edit > 100) 
        GuiControl,, Edit, % Round(UpDown / 100, 2)
    Else
        GuiControl,, UpDown, % Edit*100  
    Return 
*/
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14

Re: AHK : Как в GUI скрыть Edit, не скрывая его UpDown?

Так точно лучше. )