1 (изменено: Gutalin, 2018-01-19 13:36:50)

Тема: AHK: Как сделать интерактивный список?

Хочу сделать список с GUI Edit т.е. оставить окно постоянного размера, но чтобы множество текста и GUI, Edit шли вниз списком, ну чтобы "прокручивать" вниз-верх можно было информацию)
По пробовал с Gui, Add, ListBox, но кажется я слишком наивен:

Gui, Add, ListBox, x0 y37 w190 h120, gList
Gui, Show, Restore  w200 h170,,
return

List:
Gui, Add, Text,x0 y37 ,----------------------------------------------------------------------
Gui, Add, Text,x3 y47 ,#1
Gui, Add, Text, x30 y47, Пример1:
Gui, Add, Text, x30 y67, Тут должно быть поле ввода

Gui, Add, Text,x0 y85 ,----------------------------------------------------------------------
Gui, Add, Text,x3 y95 ,#2
Gui, Add, Text, x30 y95, Пример2:
Gui, Add, Text, x30 y115, Тут должно быть поле ввода


Gui, Add, Text,x0 y133 ,----------------------------------------------------------------------
Gui, Add, Text,x3 y143 ,#3
Gui, Add, Text, x30 y143, Пример3:
Gui, Add, Text, x30 y163, Тут должно быть поле ввода

Guiclose:
ExitApp

Как можно сделать такой "список" ?

AutoHotkey - 1.1.32.00

2

Re: AHK: Как сделать интерактивный список?

Gutalin рассмотрите этот пример.

+ открыть спойлер
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#NoEnv
#Persistent
#KeyHistory, 0
#HotKeyInterval -1
#MaxHotkeysPerInterval 200
#InstallKeybdHook
#SingleInstance, Force
SetKeyDelay 0
SetMouseDelay, 0
#Persistent
SetBatchLines, -1
CoordMode, Pixel, Screen
CoordMode, Mouse, Screen

FileInstall, C:\Users\Tom\Desktop\Скрипты\1\Вторичка\Screenshot_14.png, %A_temp%\Screenshot_14.png

Gui, Font, S15 CDefault Bold, Verdana
Gui, Add, Text, x122 y9 w230 h30 , Выберите клавишу
Gui, Add, ListBox, x12 y49 w450 h254 vList AltSubmit, ListBox|Space||Rbutton|MButton|v|c|b|n|LAlt|LControl|LCtrl|LShift|
Gui, Add, Button, x187 y319 w100 h30 gOK, ОК
; Generated using SmartGUI Creator 4.0
Gui, Show, x127 y87 h379 w479, New GUI Window
Return

GuiClose:
ExitApp
Return

ok:
gui submit

Bind := 0

if list = 1
msgbox, Это не клавиша,перезапустите скрипт и выберите другую клавишу!
if list = 2
Bind = sc39
msgbox, %bind% скан-код клавиши "Space"
if list = 3
msgbox, 3

*~sc3B::
Suspend
Return

3 (изменено: Gutalin, 2018-01-19 21:14:36)

Re: AHK: Как сделать интерактивный список?

romzes96, я знаю как ListBox работает, и мне нужно не то, что в Вашем примере.

AutoHotkey - 1.1.32.00

4

Re: AHK: Как сделать интерактивный список?

Мне бы подошёл и ListBox и ListView, если бы в их строки можно было вставить не просто текст, а в 1 строке элемента 4 "Подстроки", где несколько из них  GUI, Edit.

AutoHotkey - 1.1.32.00

5

Re: AHK: Как сделать интерактивный список?

http://forum.script-coding.com/viewtopi … 590#p95590, на ADD понажимать.

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

6

Re: AHK: Как сделать интерактивный список?

serzh82saratov, Спасибо большое, вы решили сразу две мои проблемы! Осталось разобраться с этим огромным кодом...

AutoHotkey - 1.1.32.00

7

Re: AHK: Как сделать интерактивный список?

Там код довольно модульный (и есть как помнится косяк), но не для новичка, если постигнете, то сможете любой фарш (всякие разные контролы) листать.

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

8

Re: AHK: Как сделать интерактивный список?

serzh82saratov, как работает строчка:

Y := PosY = "" ? 10 : PosY - 104 + 100
AutoHotkey - 1.1.32.00

9

Re: AHK: Как сделать интерактивный список?

Серией вопросов не получится, тут надо библиотеку писать для скролла дочерних окон, в коллекции было бы очень даже, но тут не я груздь.
Кстати в обновлении я не до конца понял что, а главное зачем, изменили.

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

10

Re: AHK: Как сделать интерактивный список?

OFF: serzh82saratov, я и так пишу этот список себе в программу путем вставки: кажется что-то важное, вставил, в глаза не лезет, программу не крашит, значит пойдёт, а в этой строчке я вообще ничего не понимаю(и не считая окончание файла, не относящееся к вкладке end, которое я просто вставил целиком, надеясь что там все универсально.).
Способ "потыкать параметры" не помог: если 2 блок появляется, то 1 нет.
Скорее всего придётся мне обходить это как-то. Очень много непонятного, а абы как сделанный код с вставками да плясками с бубном(ну хотя этот способ иногда достаточно эффективен) мне не нужен.

Может тогда окно увеличивать вниз с каждым новым блоком, а не сворачивать в список? Поможет в этом winset, redraw или придётся "разрушать" окно?

AutoHotkey - 1.1.32.00

11

Re: AHK: Как сделать интерактивный список?

Y := PosY = "" ? 10 : PosY - 104 + 100

Тернарная условная операция, в которой "Y" получит значение равное "10", если PosY - окажется пустым, иначе, результату выражения (PosY - 104 + 100).
Может быть представлена такой записью:


if (PosY == "")
	Y := 10
else
	Y := PosY - 104 + 100

Описание можно найти здесь.

12

Re: AHK: Как сделать интерактивный список?

KusochekDobra, спасибо.

AutoHotkey - 1.1.32.00