1

Тема: AHK V2: Edit. Добавляем строки и скролим вниз

Идея взята с www.autohotkey.com и переделана под AHK V2. Спасибо just me



MyGui := Gui()
MyEdit := MyGui.Add("Edit", "r9 w300", )
MyGui.Show

NewlineEdit := "`r`n"
GuiEditAppend(MyEdit, "Start:")

Loop 20
{
	GuiEditAppend(MyEdit, NewlineEdit . A_Index)
	Sleep 500
}


GuiEditAppend(hEdit, Append) {
    ; Calculate required size and allocate a buffer.
    buf := Buffer(StrPut(Append))
    ; Copy or convert the string.
    StrPut(Append, buf)
	SendMessage 0x00C2, False, buf.Ptr, hEdit
}

2

Re: AHK V2: Edit. Добавляем строки и скролим вниз

Anfanger
Отлично, что используете v2. В скрипте есть недостаток: если во время заполнения кликнуть в edit куда-нибудь выше, порядок сломается.

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

3

Re: AHK V2: Edit. Добавляем строки и скролим вниз

В AHK v2 нет встроенных методов добавления строк?

Win 10 x64
AHK v1.1.33.02
                       Справка тебе в помощь.

4

Re: AHK V2: Edit. Добавляем строки и скролим вниз

Нет вроде.

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

5

Re: AHK V2: Edit. Добавляем строки и скролим вниз

teadrinker пишет:

Anfanger
Отлично, что используете v2. В скрипте есть недостаток: если во время заполнения кликнуть в edit куда-нибудь выше, порядок сломается.

Спасибо. Не учёл, что можно изменить положение курсора.

Исправил.


MyGui := Gui()
MyEdit := MyGui.Add("Edit", "r9 w300", )
MyGui.Show

NewlineEdit := "`r`n"
GuiEditAppend(MyEdit, "Start:")

Loop 50
{
	GuiEditAppend(MyEdit, NewlineEdit . A_Index)
	Sleep 1000
}


GuiEditAppend(hEdit, Append) {
    ; Calculate required size and allocate a buffer.
    buf := Buffer(StrPut(Append))
    ; Copy or convert the string.
    StrPut(Append, buf)
    Static EM_SETSEL:=0xB1
	; Устанавливаем курсор в конец текста
    SendMessage EM_SETSEL, -2, -1, hEdit			
	Static EM_REPLACESEL:=0x00C2
	SendMessage EM_REPLACESEL, False, buf.Ptr, hEdit
}