Рисование элементов управления с помощью GDI на Compact Framework - PullRequest
1 голос
/ 15 декабря 2009

Мне нужно нарисовать текстовое поле в приложении Compact Framework, но с использованием непосредственно графического объекта.

Я нашел метод Control.DrawToBitmap, который я мог бы использовать для рисования с использованием GDI, но он недоступен в Compact Framework.

Любые намеки?

Ответы [ 3 ]

1 голос
/ 15 декабря 2009

Control.DrawToBitmap () реализуется путем отправки WM_PRINT в элемент управления, чтобы он мог рисовать себя в контексте устройства памяти. Если вы используете нестандартные элементы управления, велика вероятность, что программист не реализовал это сообщение. Я не думаю, что это реализовано стандартными элементами управления Windows Mobile.

Тогда вам остается только скопировать пиксели с экрана. Graphics.CopyFromScreen () не требуется, вам придется P / Invoke API-функция BitBlt (). Возможно, полезный пример кода доступен в этой теме. и на pinvoke.net

0 голосов
/ 15 декабря 2009

Я понятия не имею, сработает ли это .... но технически вы можете использовать отражение, чтобы вызвать метод OnPaint элемента управления и передать свой собственный графический объект (Graphics.FromImage) в новый набор PaintEventArgs.

Это ужасно чертовски ..... но может работать.

0 голосов
/ 15 декабря 2009

Обычно вы просто наследуете от: Control, переопределяете OnPaint и используете графический объект, предоставленный аргументами. Вы уже пробовали это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...