假设我有一个任意的GDI +句柄,我如何确定它所代表的GDI +对象的基础类型?画笔,笔,图像,矩阵等?
我在线搜索但是只能找到GDI的例子,但GDI +没有,GDI +是否有这样的设施?
编辑:请注意,我没有使用C ++,因此我无法访问任何特定于语言的功能来确定对象类型。我正在为AutoHotkey创建一个GDI +包装器,所以我几乎只限于DLL中的函数。
答案 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 *