Я создаю инфраструктуру плагинов, где мое приложение загружает серию DLL плагинов, затем создает новое окно и передает дескриптор этого нового окна плагину. Затем плагин может использовать этот дескриптор для создания собственного графического интерфейса.
Кажется, все работает очень хорошо. Единственная проблема заключается в том, что когда я нажимаю TAB на виджете плагина (например, в окне редактирования), он не переходит на другой виджет. Я понял, что некоторые сообщения Windows передаются, а некоторые нет. WM_KEYDOWN передается для других ключей, потому что я могу печатать в поле ввода, но это сообщение не обрабатывает клавишу TAB.
Надеюсь, у кого-нибудь есть подсказка.
Я использую Borland VCL с CBuilder, но я думаю, что я мог бы использовать любой фреймворк под WIN32 для создания этих плагинов, поскольку они никогда не знают, как создавались их родительские окна.