Можно ли создать пользовательское устройство GDI в пользовательском режиме? Идея состоит в том, чтобы создать контекст устройства (HDC), который мы можем передать непрозрачному компоненту, чтобы, когда компонент вызывает функции GDI, такие как TextOut, мы могли получить реальную текстовую строку.
Как создать пользовательское устройство GDI?
Ответы (1)
Я мало использовал GDI, но слышал, что [метафайлы](http://msdn.microsoft.com/en-us/library/dd145051(VS.85).aspx) записать рисунок и его можно воспроизвести. Возможно, вы сможете получить текстовую строку из него.
Я посмотрел на это подробнее, и вы можете создать GDI с CreateEnhMetaFile()
, который записывает рисунок в метафайл. Нарисуйте компонент, используя это устройство GDI. Затем вы можете вызвать EnumEnhMetaFile()
, передав ему обратный вызов. Ваш обратный вызов будет вызван указателем на ENHMETARECORD
. ENHMETARECORD
начинается с [EMR
](http://msdn.microsoft.com/en-us/library/dd162512(VS.85).aspx). У него есть член с именем iType
, который является типом операции рисования.
person
Jordan Miner
schedule
20.04.2009
Спасибо, это как раз то, что я искал!
- person Vladimir Panteleev; 22.04.2009