1 (изменено: Vasil, 2014-02-09 13:31:31)

Тема: AHK: IniRead в непоказанное окно

Приветствую всех. Случилась такая проблема, не могу послать информацию в не показанное окно GUI. Вот код:

Gui, add, button, gtest, test
Gui, add, button, gload, Загрузить
Gui, show
return

test:
Gui, 2:Destroy
Gui, 2:add, edit, vEdit,
Gui, 2:show
return

Load:
FileSelectFile, LoadTest,,, Выберите файл с настройками, *.ini
IniRead, varEdit, %LoadTest%, Main, test, %A_Space%
Gui, Submit, NoHide
GuiControl,, Edit, % varEdit
return

GuiClose:
ExitApp

Но если я поставлю кнопку загрузки во второе окно, то все работает. В чем проблема?

2

Re: AHK: IniRead в непоказанное окно

Опишите поподробнее, что за посыл информации и в какое именно окно.
Судя по коду, Вы хотите изменить эл. упр. Edit, относящийся к окну "2". Но оно не является окном по умолчанию.

Документация пишет:

Gui, GuiName:Default
Changes the current thread's default GUI window name, which is used whenever a window name is not specified for GuiControl, GuiControlGet, and the Gui command itself. In the following example, the default window name is changed to "MyGui": Gui MyGui:Default. See thread's default window for more information about the default window.

Чтобы для текущего потока (а именно для команды GuiControl) окно "2" стало окном по умолчанию, необходимо выполнить команду

Gui, 2:Default

3 (изменено: Vasil, 2014-02-09 13:31:46)

Re: AHK: IniRead в непоказанное окно

ypppu,

Load:
FileSelectFile, LoadTest,,, Выберите файл с настройками, *.ini
IniRead, varEdit, %LoadTest%, Main, test, %A_Space%
Gui, 2:Default
GuiControl,, Edit, % varEdit
return

Если сделать так, как сказали вы, то он будет управлять Edit только если окно активное/неактивное, а если второе окно не показано? То есть, я нажал на кнопку "Загрузить", выбрал .ini, потом нажал на кнопку "test", и у меня сразу появился текст считанный из .ini.

4

Re: AHK: IniRead в непоказанное окно

Нет понятия "окно закрыто".
Окно может быть:
1. Создано (командой Add)
  1.1 Показано (командой Show)
  1.2 Скрыто (командой Hide, командой Close или красным крестиком в заголовке окна)
2. Уничтожено (командой Destroy)

5 (изменено: Vasil, 2014-02-09 13:27:14)

Re: AHK: IniRead в непоказанное окно

Хорошо, а если окно не показано, то как быть?

6

Re: AHK: IniRead в непоказанное окно

Если окно не создано, то и эл. упр. не существует, управлять нечем. А если нужно именно создать окно, чтобы эл. упр. сразу принял нужное значение,

Gui, 2:add, edit, vEdit, % varEdit