Я экспериментирую с написанием элементов управления ActiveX и заметил, что не могу создать элемент управления ActiveX в Visual Basic (6.0), который имеет немного более сложные элементы управления. Простые элементы управления, такие как метки, кнопки и флажки, работают нормально, но как только я пытаюсь добавить, например, древовидный элемент управления для моей формы, элемент ActiveX остается полностью пустым, как только я встраиваю его в какое-либо хост-приложение на другом компьютере. Он отлично работает на моем компьютере для разработки.
Проходя по списку Projects-> Components (Ctrl + T), я обнаружил две библиотеки, которые, очевидно, содержат элемент управления деревом:
- Microsoft Windows Common Controls 5.0 (SP2)
- Общие элементы управления Microsoft Windows 6.0 (SP6)
Как только я добавляю в форму какие-либо элементы управления из этих библиотек, форма остается полностью серой, если она встроена в другой компьютер. Другой компьютер - система Windows XP, поэтому я надеялся, что отсутствие распространяемых файлов не будет проблемой, учитывая, сколько лет Visual Basic 6. Конечно, я установил распространяемые файлы VB6, но, к сожалению, это ничего не изменило.
Кто-нибудь знает, почему мой элемент управления ActiveX будет оставаться серым на других компьютерах, но не на моем, как только я добавлю в форму какие-либо элементы управления из вышеуказанных библиотек? FWIW Мне просто нужен древовидный элемент управления, так что если есть какая-то другая, более подходящая библиотека - это нормально для меня.
UPDATE:
Как оказалось, это помогает загрузить MSCOMCTL.OCX в C: \ WINDOWS \ SYSTEM32 на другом компьютере, а затем зарегистрировать его с помощью regsvr32 C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX
. Тем не менее, я не нашел официального источника для этого файла, и запуск регистрации COM вручную кажется мне обременительным. Разве нет распространяемого файла, который я мог бы использовать?