Создаю вложенное меню, согласно данным из ini-файла.
В ini-файле написано:
Файл>открыть=open
Файл>сохранить как=open_as
Файл>сохранить=save
Редактировать>копировать=fcopy
Редактировать>вставить=fpaste
Выход=fexit
и так далее. Если строка содержит ">", то это значит, что в основном меню есть сабменю "Файл", в котором есть элемент "открыть".
Если в строке нет значка ">", то это значит, что элемент добавляется в корень меню. Например элемент "Выход", которому соответствует функция fexit.
Каким образом создать сабменю и добавить в эти сабменю элементы?
У меня почему-то получается несколько сабменю "файл" и "редактировать", в каждом из которых по одному элементу.
А нужно создать сабменю "файл" один раз и добавить туда несколько элементов. Проблема в том, что вся информация о сабменю и элементах должна браться только из ini-файла (он может меняться).
В ini-файле написано:
Файл>открыть=open
Файл>сохранить как=open_as
Файл>сохранить=save
Редактировать>копировать=fcopy
Редактировать>вставить=fpaste
Выход=fexit
и так далее. Если строка содержит ">", то это значит, что в основном меню есть сабменю "Файл", в котором есть элемент "открыть".
Если в строке нет значка ">", то это значит, что элемент добавляется в корень меню. Например элемент "Выход", которому соответствует функция fexit.
Код:
$cDummy = GUICtrlCreateDummy()
$nContextMenu = GUICtrlCreateContextMenu($cDummy)
$hContextMenu = GUICtrlGetHandle($nContextMenu)
$aIni = IniReadSection("Программа.ini", "МЕНЮ")
Dim $aMenuItems[$aIni[0][0]+1]
$aMenuItems[0] = $aIni[0][0]
For $i = 1 To $aIni[0][0]
$aMenuItems[$i] = GUICtrlCreateMenuItem($aIni[$i][0], $nContextMenu)
Next
Каким образом создать сабменю и добавить в эти сабменю элементы?
У меня почему-то получается несколько сабменю "файл" и "редактировать", в каждом из которых по одному элементу.
А нужно создать сабменю "файл" один раз и добавить туда несколько элементов. Проблема в том, что вся информация о сабменю и элементах должна браться только из ini-файла (он может меняться).