是否可以复制GDI句柄?

时间:2010-05-06 21:11:06

标签: c++ c windows gdi

或者在我的特定情况下是一个Windows区域(HRGN)?

更新: 问题如下:

我有一个对象集合,每个对象都可以容纳一个HRGN。一旦获得的这些区域在对象被破坏时被释放。由于其中一些对象存储在std :: vector中,因此我需要定义一个assignement运算符。

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

将每个HRGN包裹在任何智能指针之后建模的引用计数对象中,例如shared_ptr