Прежде всего, поскольку я использую VB6, пожалуйста, ограничьте ваши добрые предложения методами, применяемыми к VB6.
У меня есть набор элементов управления, связанных друг с другом, как показано на рисунке выше. Он включает в себя несколько древовидных представлений, разделительную полосу, список, подчиненную форму (пользовательский элемент управления) и т. Д.
Когда я щелкаю или изменяю узлы просмотра дерева слева, правые элементы управления изменяют свое отображение соответственно, и наоборот.
Данные, скрытые за сценой, хранятся в базе данных Access.
Этот набор управления данными и отображения используется в нескольких различных приложениях. Поэтому я написал несколько классов, чтобы реализовать логику и снова и снова включать эти модули классов в свои приложения.
Поэтому я на самом деле ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ своих классов в режиме «копировать и вставлять». Это работает, но есть проблемы. Если я внесу изменение в класс, мне придется изменить его в нескольких приложениях.
Сейчас я думаю о том, чтобы превратить их в так называемые компоненты ActiveX. Но я не уверен, какие компоненты ActiveX мне следует разработать для повторного использования всей архитектуры.
Короче говоря, я хочу знать, как я могу использовать его более эффективно, чем просто «копировать и вставлять». Ниже приведены некоторые идеи или ожидания нового «изящного ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ», но не ограничиваться ими.
(1) Я надеюсь, что это выглядит как элемент управления ActiveX, у которого есть страница свойств, чтобы я мог установить некоторые его свойства во время разработки.
(2) Для разных приложений подчиненная форма справа может отображать разную информацию и иметь разные элементы управления, и может потребоваться дополнительное кодирование и проектирование.
(3) Также мне может потребоваться закодировать новое поведение для просмотра дерева и списка для различных приложений. Это требование делает непригодным полный пользовательский элемент управления для всей формы. потому что MSDN сказал: «Ссылки на элементы управления ActiveX , никогда не должны возвращаться в клиентские приложения。»