Скажем, у меня есть произвольный дескриптор GDI +, как я могу определить базовый тип объекта GDI +, который он представляет? Кисть, ручка, изображение, матрица и т. Д.?Определение типа ручки в GDI +
Я искал в Интернете, но могу найти только примеры для GDI, но ничего для GDI +, у GDI + нет такого средства?
EDIT: Просто отметить, что я не использую C++, поэтому у меня нет доступа к любым языковым функциям для определения типа объекта. Я создаю обертку GDI + для AutoHotkey, поэтому я почти ограничена функциями в DLL.
Я не знаком с AutoHotkey. Вы должны опубликовать некоторый пример кода. Если вы используете Gdi + Flat API, то я думаю, что нет способа. –
Да, я ограничен использованием Flat API или других вызовов API из DLL. AHK является интерпретированным языком и имеет некоторые ограничения, не уверенный, какие примеры кода я мог бы разместить, поскольку сам код не имеет особого значения. Я верю, что вы правы, однако, что, похоже, не существует официального способа определить тип дескриптора GDI + только из самого дескриптора, за исключением использования оператора «typeid», как вы уже упоминали. –
Имеют ли эти объекты уникальные методы или атрибуты? Имея быстрый взгляд на документы, кажется, что Pen имеет атрибут «PenType», который не имеет ни один из других классов. Может быть немного утомительно создать набор правил, чтобы идентифицировать объект по его атрибутам или методам, но лучше, чем ничего, я полагаю. – MCL