__Михаил__ пишет:Вы пытаетесь программу для других создать? С вашим-то уровнем программирования?
Я не исключаю что ей будут пользоваться другие, но и для себя пытаюсь сделать как удобнее, потому что это лишь часть её полезных функций, но не основная)
А пример на 'Edit' есть?
Вобщем так: Если строка была выделена, а потом ListView теряет фокус и при нажатии на Button
#SingleInstance force
Gui, Add, ListView, r10 w500 +Report +Grid vReplaceLV gLogin LV0x10 LV_DeleteCol(3) -Multi +Sort Count10, Login | Password
Loop, Read, %A_ScriptDir%\Passw.txt
LV_Add("", StrSplit(A_LoopReadLine, ":")*)
LV_ModifyCol(1, 150)
LV_ModifyCol(2, 150)
Gui, Add, Button, x100 y205 w80 h23 gAdd, Add
Gui, Add, Button, x200 y205 w80 h23 gОк, Ок
Gui, Add, Button, x300 y205 w80 h23 gSave, Save
;LV_ModifyCol()
;LV_ModifyCol(2, "Integer")
Gui, Show,
return
Add:
Return
Ок: ;gОк
{
IfWinExist, Блокнот
{
WinActivate
}
else
{
MsgBox Запустите Блокнот
return
}
#IfWinActive Блокнот
WinTitle = ahk_class Notepad ahk_exe NOTEPAD.EXE
WinWait Passw.txt
LV_GetText(Log, A_EventInfo, 1) ; Получаем текст строки из первого столбца.
LV_GetText(Pass, A_EventInfo, 2)
SendInput, %Log%
SendInput, {Tab}
SendInput, %Pass%
SendInput, {Tab}
SendInput, {Enter} ;Только вот на переменную enter почему-то не реагирует
;goto, Lis
;MsgBox %AutoIn%
}
Return
Save:
ControlGet, Hwnd, Hwnd,, SysListView321, A ; Получаем индикатор ListView текущего окна.
ControlGet, ListText, List,,, ahk_id %hwnd% ; Весь видимый текст.
Text =
Loop, Parse, ListText, `n ; Парсим строки.
{
StringReplace, T, A_LoopField, % A_Tab, : , All ; Заменяем делитель 'Tab' на ':'.
Text .= T "`n"
}
File := FileOpen(A_ScriptDir "\Passw.txt", "w") ; Сохраняем в файл настроек.
File.Write(Text)
File.Close()
Return
GuiEscape:
GuiClose:
ExitApp
Return
Он возвращает названия столбцов, а не данные той строки. Как это обойти? Т.е. ПОЛУЧИТЬ ДАННЫЕ СТРОКИ НЕ В ФОКУСЕ?
Сохранять строки в отдельную переменную при выделении для отдельной кнопки?