确定GDI +中的句柄类型

时间:2016-10-26 03:44:19

标签: gdi+ autohotkey

假设我有一个任意的GDI +句柄,我如何确定它所代表的GDI +对象的基础类型?画笔,笔,图像,矩阵等?

我在线搜索但是只能找到GDI的例子,但GDI +没有,GDI +是否有这样的设施?

编辑:请注意,我没有使用C ++,因此我无法访问任何特定于语言的功能来确定对象类型。我正在为AutoHotkey创建一个GDI +包装器,所以我几乎只限于DLL中的函数。

1 个答案:

答案 0 :(得分:1)

使用typeid运算符

示例:

Gdiplus::Brush *brush;
Gdiplus::Pen *pen;
Gdiplus::Image *image;
Gdiplus::Matrix *matrix;

cout << "brush: " << typeid(brush).name() << '\n';
cout << "pen: " << typeid(pen).name() << '\n';
cout << "image: " << typeid(image).name() << '\n';
cout << "matrix: " << typeid(matrix).name() << '\n';

输出:

brush: class Gdiplus::Brush *
pen: class Gdiplus::Pen *
image: class Gdiplus::Image *
matrix: class Gdiplus::Matrix *