достигнут предел не может создать больше элементов управления для этой формы vb6 - PullRequest
0 голосов
/ 18 октября 2018

Я не могу создать новое меню в моей форме mdi. Так как уже есть много существующих меню.

Ошибка его выдачи "reached limit cannot create any more controls for this form".

Пожалуйста, помогите мне узнатьто как добавить новое меню с этой ошибкой.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Как сказал @wqw, проблема в том, что вы достигли предела 256 элементов управления для формы, и решение состоит в том, чтобы начать объединять их в массивы элементов управления.Однако элемент управления, с которым у вас возникла проблема (меню), не обязательно должен быть превращен в массив элементов управления.

Я считаю, что самый коварный, но самый простой для решения элемент управления "потребители »- это элементы управления этикетками, разбросанные повсюду в типичной форме.Чтобы превратить их в управляющий массив, я просто применил практику копирования и вставки существующего ярлыка всякий раз, когда мне нужен новый;В первый раз VB спросит, хотите ли вы создать управляющий массив (скажем «Да»), и после этого он будет автоматически увеличивать индекс для вас каждый раз, когда вы создаете новую копию метки.

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

0 голосов
/ 18 октября 2018

Вы можете использовать массивы элементов управления для своих меню, чтобы преодолеть 256 элементов управления на ограничение формы.В редакторе меню необходимо установить для свойства Index уникальное целочисленное значение, чтобы создать управляющие массивы записей с одинаковыми Name с.

. Общая стратегия заключается в назначении mnuMain имени для управляющего массива сверхние меню, т.е. сначала mnuMain(1) будет «Файл», затем mnuMain(2) будет «Редактировать» и т. д.

Затем в коде формы объявите перечисление, подобное этому

Private Enum MenuIndexesEnum
    idxFile = 1
    idxEdit
    idxTool
    ....
End Enum

ииспользуйте его во всем коде, например mnuMain(idxFile) и т. д.

Для подменю «Файл» укажите mnuFile управляющий массив с уникальными индексами, начинающимися с 1 для «Новый», «Открыть», «Печать» и т. д.«Выйти» и расширить перечисление MenuIndexesEnum следующим образом

Private Enum MenuIndexesEnum
    idxFile = 1
    idxEdit
    idxTool
    ....
    idxNew = 1
    idxOpen
    idxPrint
    idxExit = 99
    ...
End Enum

Затем продолжить с mnuEdit для подменю «Редактировать» и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...