Как лучше всего реализовать рисование в моем приложении сторонними плагинами? - PullRequest
0 голосов
/ 03 апреля 2011

Я создал приложение, и все написанные для него плагины должны рисоваться в специальном месте в моей форме, которое будет случайным или специально выбранным для плагина, поэтому каждый раз координаты случайны.Также они должны использовать стандартные функции GDI для Windows, такие как Rectangle (), FillRect (), TextOutA () и другие.Какой лучший способ сделать это?Я знаю, что должен сделать движок рисования внутри своей программы, у меня есть 2 варианта: использовать именованные каналы или использовать сообщения Windows.Может быть, у кого-то есть другие методы, реализованные и протестированные?

1 Ответ

0 голосов
/ 04 апреля 2011

Чтобы использовать функции GDI, им необходим доступ к дескриптору HDC. Если ваше приложение выделяет TPanel или другой подходящий оконный контейнер для рисования, то оно может передать дескриптор контейнера HWND плагину, а затем плагин может получить HDC вручную через GetDC() или GetWindowDC(), когда необходимо. Если вы выбрали вместо этого фактическую HDC для плагина, вы можете вместо этого выделить TPaintBox или другой подходящий неоконный контейнер, для которого не требуется выделенный HWND и связанные ресурсы.

...