MFC — Как создать свой собственный элемент управления [Win32 — C ++]

Я создал классы, основанные на элементах управления, используя MFC, например FolderLister, полученный из CListCtrl, или цветной элемент управления rich edit. Поэтому я хочу сохранить их в файле, потому что проект очень запутан таким образом. Могу ли я создать свой собственный элемент, полученный из элемента управления, тогда использовать его в наборе инструментов? или я могу сохранить свой класс в файле, чтобы я мог сохранить его в файле?
Я ищу это в течение 2 дней до сих пор не знаю, что делать, если я должен использовать статическую библиотеку или создать элемент управления ActiveX? или используйте atl.

Извините за мой английский.
Заранее спасибо.

1

Решение

Это врожденная способность в Windows. Хороший пример — кнопочный элемент управления, просто вызовите CreateWindowsEx () и передайте L «Button» в качестве имени класса, и вы получите себе кнопочный элемент управления. Это элементы управления, встроенные в Windows.

Создать свой собственный, используя эту схему, очень просто. Просто создайте проект DLL с экспортированной функцией Initialize (). Вызовите RegisterClassEx () в этой функции, чтобы зарегистрировать свой собственный класс управления. Теперь клиентский код может просто вызвать CreateWindowEx () и передать имя вашего класса управления, чтобы получить контроль над их окном. Это процедура окна, которую вы зарегистрировали в WNDCLASSEX, которая дает окну его пользовательское поведение. Добавьте свои собственные сообщения, чтобы позволить клиенту настроить ваш элемент управления и вызывать пользовательские функции. Именно так работают общие элементы управления, функция инициализации — InitCommonControls, пользовательские сообщения объявляются в заголовочном файле CommCtrl.h.

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

1

Другие решения

Вы, вероятно, хотите создать элемент управления ActiveX. Вы можете сделать это с MFC, или с ATL, или (если вы мазохист) по своему усмотрению.

Из этих трех, как правило, проще всего с MFC и сложнее всего самостоятельно. Проблема с MFC состоит в том, что контроль имеет тенденцию быть довольно большим. ATL позволяет создавать элементы управления почти такой маленький, как если бы вы написали их полностью от руки, и лишь немного сложнее, чем MFC, с которыми можно разрабатывать.

2

По вопросам рекламы [email protected]