1

Тема: AHK: Edit

В общем, такая проблема, покажу на примере простого скрипта.

Нечетные := Array("Один", "3" , "5", "7", "9", "11", "13")
Четные := Array("2", "4", "6" , "8", "10", "Дюжина", "14", "16")
Gui, add, button, gGen, Сгенерировать
Gui, add, radio, vUnEven Checked, Четные
Gui, add, radio, , Нечетные
Gui, add, edit, r5 readonly vedit
Gui, Show
return

Gen:
    GuiControlGet, UnEven
    GuiControlGet, edit
    Arr := UnEven ? "Четные" : "Нечетные"
    Random, Rand, 1, % %Arr%.MaxIndex()
    GuiControl,, edit, % edit . %Arr%[Rand] . "`n"
    return

Так вот, суть в том, что числа уходят вниз, и приходится листать. Как сделать, чтобы строка автоматически перелистывалась вниз? порылся в справочнике, ничего дельного не нашел.

2

Re: AHK: Edit

Ctrl+End попробуйте послать этому элементу управления.

3

Re: AHK: Edit

Он "^{end}" тоже в строку прописывает.

4 (изменено: Irbis, 2013-12-08 22:59:57)

Re: AHK: Edit

+1 строка к простому скрипту из #1

; <...>
    ControlSend, Edit1, ^{End}
    return

5

Re: AHK: Edit

Нечетные := Array("Один", "3" , "5", "7", "9", "11", "13")
Четные := Array("2", "4", "6" , "8", "10", "Дюжина", "14", "16")
Gui, add, button, gGen, Сгенерировать
Gui, add, radio, vUnEven Checked, Четные
Gui, add, radio, , Нечетные
Gui, add, edit, r5 readonly vedit
Gui, Show
return

Gen:
    GuiControlGet, UnEven
    GuiControlGet, edit
    Arr := UnEven ? "Четные" : "Нечетные"
    Random, Rand, 1, % %Arr%.MaxIndex()
    GuiControl,, edit, % edit . %Arr%[Rand] . "`n"
    ControlSend, Edit1, ^{End}
    return

Другой вариант - отрезать верхнюю строчку, когда добавляется новая нижняя - так при большой скорости не будет мельканий. Если, конечно, это не противоречить условиям.

6

Re: AHK: Edit

ypppu пишет:

не будет мельканий

Разве

GuiControl Redraw

полностью это не устранит?

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

7

Re: AHK: Edit

Каким образом? Не пойму, дайте пример.
Я говорю о том, что если часто нажимать "Сгенерировать" или зажать Enter, полоса прокрутки заметно мелькает.

8 (изменено: serzh82saratov, 2013-12-09 13:08:38)

Re: AHK: Edit

ypppu


Нечетные := Array("Один", "3" , "5", "7", "9", "11", "13")
Четные := Array("2", "4", "6" , "8", "10", "Дюжина", "14", "16")
Gui, add, button, gGen, Сгенерировать
Gui, add, radio, vUnEven Checked, Четные
Gui, add, radio, , Нечетные
Gui, add, edit, r5 readonly vedit hwndhedit
Gui, Show
return

Gen:
    GuiControlGet, UnEven
    GuiControlGet, edit
    Arr := UnEven ? "Четные" : "Нечетные"
    Random, Rand, 1, % %Arr%.MaxIndex() 
    GuiControl, -Redraw, edit
    GuiControl,, edit, % edit . %Arr%[Rand] . "`n"    
    GuiControl, +Redraw, edit
    ControlSend, Edit1, ^{End}
    return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Edit

Спасибо, помогли)

10

Re: AHK: Edit

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

Нечетные := Array("Один", "3" , "5", "7", "9", "11", "13")
Четные := Array("2", "4", "6" , "8", "10", "Дюжина", "14", "16")
Gui, add, button, gGen, Сгенерировать
Gui, add, radio, vUnEven Checked, Четные
Gui, add, radio, , Нечетные
Gui, add, edit, r5 readonly vedit hwndhedit
Gui, Show
return

Gen:
   GuiControlGet, UnEven
   Arr := UnEven ? "Четные" : "Нечетные"
   Random, Rand, 1, % %Arr%.MaxIndex()
   ControlSend, Edit1, ^{End}
   Control, EditPaste, % %Arr%[Rand] . "`r`n",, ahk_id %hedit%
   return
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11

Re: AHK: Edit

Точно нужно только EditPaste.
И

ControlSend, Edit1, ^{End}

тут лишнее.


Нечетные := Array("Один", "3" , "5", "7", "9", "11", "13")
Четные := Array("2", "4", "6" , "8", "10", "Дюжина", "14", "16")
Gui, add, button, gGen, Сгенерировать
Gui, add, radio, vUnEven Checked, Четные
Gui, add, radio, , Нечетные
Gui, add, edit, r5 readonly vedit hwndhedit
Gui, Show
return

Gen:
   GuiControlGet, UnEven
   Arr := UnEven ? "Четные" : "Нечетные"
   Random, Rand, 1, % %Arr%.MaxIndex() 
   Control, EditPaste, % %Arr%[Rand] . "`r`n",, ahk_id %hedit%
   return
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

12

Re: AHK: Edit

serzh82saratov пишет:

тут лишнее.

Не знаю, смотря чего хочет ТС. При нажатии кнопки каретка может не находиться в самом низу.

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

13

Re: AHK: Edit

Вроде всегда внизу:


Нечетные := Array("Один", "3" , "5", "7", "9", "11", "13")
Четные := Array("2", "4", "6" , "8", "10", "Дюжина", "14", "16")
Gui, add, button, gGen, Сгенерировать
Gui, add, radio, vUnEven Checked, Четные
Gui, add, radio, , Нечетные
Gui, add, edit, r5 readonly vedit hwndhedit
Gui, Show
return

Gen:
   GuiControlGet, UnEven
   Arr := UnEven ? "Четные" : "Нечетные"
   Random, Rand, 1, % %Arr%.MaxIndex() 
   Control, EditPaste, % %Arr%[Rand] . "`r`n",, ahk_id %hedit%
   ControlFocus, , ahk_id %hedit%
   return

да и с параметром readonly каретка видимо совсем не требуется.

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

14

Re: AHK: Edit

Каретку можно переместить вручную куда угодно, поэтому не факт, что она будет внизу.

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

15 (изменено: serzh82saratov, 2013-12-10 01:24:05)

Re: AHK: Edit

teadrinker пишет:

Каретку можно переместить вручную куда угодно, поэтому не факт, что она будет внизу.

Точно, был неправ.

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