是否有可能复制一个GDI句柄?

或在我的具体情况下,一个窗口区域(HRGN)?

更新:问题如下:

我有一个对象的集合,每个这些对象可以容纳一个HRGN。 曾经获得的这个地区在对象被破坏时被释放。 由于这些对象中的一些被存储在一个std :: vector中,所以我必须定义一个assignement操作符。

到目前为止,我刚刚分配了这些HRGN,但这是一个错误。 如果我复制这样的对象,那么每个对象都会尝试删除同一个区域,其中一个会使用一个不存在的区域。

将每个HRGN包装在一个引用计数对象中,模仿任何智能指针,例如shared_ptr

您不能复制HRGN句柄,但可以使用CombineRgn函数获取副本。

不,这是不可能的。 GDI对象只支持每个对象一个句柄。