1 (изменено: minesemka, 2016-11-22 12:06:03)

Тема: AHK: Picture элемент управления!

Здравствуйте, меня заинтересовал 1 вопрос!
Как узнать путь к картинки?

Вот код, чтобы вы понимали чего я хочу добиться!

Gui, Add, Picture,vVar x0 y0 w10 h10 , %A_WorkingDir%\Picture.png
Gui, Show, w10 h10, Pro100GUI
return


sc1: ;При нажатии Esc на экран должен выводиться путь к изображению
gui, submit, nohide
MsgBox, %Var% ;Переменная должна содержать путь к файлу (%A_WorkingDir%\Picture.png)
return


GuiClose:
ExitApp

Если можно, дайте ответ кодом на основе моего!
Заранее спасибо!

2

Re: AHK: Picture элемент управления!

Вероятно, никак. После отображения файл может быть удалён. Файл может отсутствовать изначально:

[v1.1.23+]: A bitmap or icon handle can be used instead of a filename. For example, HBITMAP:%handle%.

3

Re: AHK: Picture элемент управления!

Получить путь из картинки нельзя, но сохранить её в новый файл можно, путь выбрать любой.

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

4

Re: AHK: Picture элемент управления!

А хотя нет, вру, можно:

Gui, Add, Picture,vVar x0 y0 w10 h10 hwndhPic, %A_WorkingDir%\Picture.png
Gui, Show, w10 h10, Pro100GUI
return


sc1: ;При нажатии Esc на экран должен выводиться путь к изображению
VarSetCapacity(buff, 256 * (A_IsUnicode ? 2 : 1), 0)
SendMessage, WM_GETTEXT := 0xD, 256, &buff,, ahk_id %hPic%
MsgBox, % StrGet(&buff)
return


GuiClose:
ExitApp

Ну, или так:

Gui, Add, Picture,vVar x0 y0 w10 h10 hwndhPic, %A_WorkingDir%\Picture.png
Gui, Show, w10 h10, Pro100GUI
return


sc1: ;При нажатии Esc на экран должен выводиться путь к изображению
ControlGetText, text,, ahk_id %hPic%
MsgBox, % text
return


GuiClose:
ExitApp

minesemka, в конце предложения лучше ставить точку, а не восклицательный знак, а заголовке вообще ничего не нужно.

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

5

Re: AHK: Picture элемент управления!

Можно проще:

Gui, Add, Picture,vVar x0 y0 w10 h10 , %A_WorkingDir%\Picture.png
Gui, Show, w10 h10, Pro100GUI
return

f11::
GuicontrolGet, Var
MsgBox, % Var
Return

https://autohotkey.com/docs/commands/GuiControlGet.htm

Sub-commands

(Blank): Leave Sub-command blank to retrieve the control's contents. All control types are self-explanatory except the following:

Picture: Retrieves the picture's file name as it was originally specified when the control was created. This name does not change even if a new picture file name is specified.

6

Re: AHK: Picture элемент управления!

А, да. А Gui, Submit почему-то не работает, это меня с толку и сбило.

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