Вам нужно будет дать каждому редактору уникальное имя, и вы можете делать это динамически с циклом, как вам нравится. Примерно так будет работать:
Gui Add, Edit, x%i% y100 w30 h20 vEditName%A_Index% , 0
Каждое редактирование будет сохранять свое значение в диапазоне от EditName1
до EditName44
. Оттуда вы можете просмотреть их и сохранить в массиве или в любом другом месте.
Разная, нерелевантная информация:
Ах, да, это был веселый вызов и для меня. Для компании, в которой я работал, я создал графический интерфейс для управления блоком редакции на чертежах Inventor. Было четыре ряда повторяющихся элементов управления, поэтому я хотел создать и разместить эти динамически - подобно тому, что вы хотите сделать. Если хотите, я могу опубликовать код для GUI-части.
Редактировать: Добавлен код для вышеуказанного GUI
Я удалил всю функциональность, но приведенный ниже код создаст графический интерфейс.
nRevW := 25 , nDescW := 400 , nDateW := 75 , nByW := 60
aPE := [] , nCt := 0
Gui , New , ToolWindow , Rev. Block Info. Import/Export Update
Gui , Margin , 3
Gui , Add , Text , xm+35 section w%nRevW% center , REV.
Gui , Add , Text , ys w%nDescW% center , REVISION DESCRIPTION
Gui , Add , Text , ys w%nDateW% center , DATE
Gui , Add , Text , ys w%nByW% center , CHK'D.
Loop , 4
{
nMasterIndex := A_Index
Loop , 4
nVarNo%A_Index% := 4 * (nMasterIndex - 1) + A_Index
Gui , Add , Text , xm section , Line %nMasterIndex%:
Gui , Add , Edit , xm+35 ys w%nRevW% Center vvEdit%nVarNo1%
If A_Index = 1
Gui , Add , ComboBox , ys w%nDescW% vvEdit%nVarNo2% , PRELIMINARY|ISSUED FOR CHECKING & PRICING|ISSUED FOR CONSTRUCTION
Else
Gui , Add , Edit , ys w%nDescW% vvEdit%nVarNo2%
Gui , Add , Edit , ys w%nDateW% Center vvEdit%nVarNo3%
Gui , Add , Edit , ys w%nByW% Center vvEdit%nVarNo4%
Gui , Add , Button , ys-1 w15 -TabStop vvImport%nMasterIndex% ggIELine , I
Gui , Add , Button , x+0 ys-1 w15 -TabStop vvExport%nMasterIndex% ggIELine , E
}
Gui , Font , S7
Gui , Add , Text , xm section , Usage notes:`nMiddle-click date field to put current date.`nMiddle-click "Line [No.]:" text to clear line.
Gui , Font , S14
Gui , Add , Button , x+115 ys w75 -TabStop ggIE , Import
Gui , Add , Button , x+1 ys w75 -TabStop ggIE , Export
Gui , Add , Button , x+1 ys w140 -TabStop ggUpdate Default , Update
Gui , Add , Button , x+2 ys w30 -TabStop ggShiftUp , ▲
Gui , Show
Return
gIELine:
gIE:
gShiftUp:
gUpdate:
Return