Создание пользовательских элементов управления в COM для Access 2003 - PullRequest
0 голосов
/ 07 мая 2009

Краткая версия вопроса:

Как мне создать пользовательские элементы управления для MS Access 2003, не прибегая к VB6?

Длинная версия:

В последние 6 лет я был избалован удовольствием писать приложения на C # WinForms, и теперь мне нужно изменить приложение Access 2003. Да, со временем оно будет переписано как приложение Dot Net, но сейчас оно должно оставаться приложением Access 2003.

Итак, одна из вещей, которые мне очень понравились в написании приложений для WinForms, это то, что я могу взять любой объект пользовательского интерфейса WinForms, скажем, комбинированный список и превратить его в пользовательский элемент управления, в который я мог бы добавлять функции. Я также мог бы взять несколько элементов управления, скомпоновать их на одной поверхности разработки в качестве пользовательского элемента управления, а затем отобразить его на панели инструментов VS.Net в качестве пользовательского элемента управления. (Очень удобно, когда у вас есть сложный набор элементов управления для сбора данных, которые вы должны использовать снова и снова).

Итак, теперь, когда я застрял с Access 2003 для одного из моих проектов, я хочу иметь возможность создавать собственные элементы управления для него. Access 2003 сторонние элементы управления используют COM. Проблема в том, что единственной средой, в которой я когда-либо создавал пользовательские элементы управления COM UI, является VB 6. Теперь у меня все еще есть VB6, но, поскольку VB6 уже более 10 лет, я чувствую себя обязанным искать другие варианты.

Я почти уверен, что есть люди, которые все еще пишут элементы управления COM UI, так что вы, ребята, используете, если не VB6?

1 Ответ

1 голос
/ 08 мая 2009

Я сомневаюсь, что вы получите большую помощь по этому специфическому для Access, так как большинству разработчиков Access не нужно или не нужно то, что вы просите. Действительно, большинство профессионалов, с которыми я обращаюсь, избегают не родных элементов управления всех типов в Access просто потому, что с их использованием в приложении Access связано множество проблем. Access на самом деле очень особенное животное во многих отношениях, поэтому создание элементов управления, которые будут работать в Access, сложнее, чем, например, создание элементов управления, которые работают в приложении VB. Я не знаю этого на самом деле, я предполагаю, что одной из причин этого является тот факт, что отдельные элементы управления в форме доступа имеют дескриптор окна только тогда, когда они имеют фокус. Причина этого совершенно ясна: во время разработки Access системные ресурсы были ограничены, и вы не хотели выделять дескрипторы окон для каждого элемента управления в форме (что может быть в сотнях). Возможно, это не проблема в наши дни, но дизайн в Access остается прежним. Есть обходные пути, но, по моим наблюдениям, они не красивые.

...