我怎么知道它是一个有效的gdi区域句柄?

时间:2010-11-21 21:23:37

标签: c++ windows user-interface gdi winapi

或其他gdi手柄,如钢笔刷。我怎么知道它有效吗?

3 个答案:

答案 0 :(得分:5)

你应该从不让自己陷入可能持有无效句柄的境地。如有必要,在调用DeleteObject()后将句柄设置为NULL,这样就完全明显了。假设GDI函数会给你一个FALSE返回值,因为你传递了一个坏句柄是不安全的。

答案 1 :(得分:2)

答案是:你从哪里得到了手柄?

简单地说,就像艺术一样:你怎么知道它是真实的,而不是假的? 有一些“启发式”,但唯一100%的工作方式是知道它的来源。

因此,关于GDI区域:您应该只信任GDI函数返回的区域句柄。

:)

答案 2 :(得分:0)

尝试GetObject()GetObjectType()。如果对象句柄无效,它们应该返回NULL。

我可以看到你想用它进行调试的地方。在一个完美的世界中,我们会跟踪我们的物体并随时了解它们的位置。

我们不是一个完美的世界。