或其他gdi手柄,如钢笔刷。我怎么知道它有效吗?
答案 0 :(得分:5)
你应该从不让自己陷入可能持有无效句柄的境地。如有必要,在调用DeleteObject()后将句柄设置为NULL,这样就完全明显了。假设GDI函数会给你一个FALSE返回值,因为你传递了一个坏句柄是不安全的。
答案 1 :(得分:2)
答案是:你从哪里得到了手柄?
简单地说,就像艺术一样:你怎么知道它是真实的,而不是假的? 有一些“启发式”,但唯一100%的工作方式是知道它的来源。
因此,关于GDI区域:您应该只信任GDI函数返回的区域句柄。
:)
答案 2 :(得分:0)
尝试GetObject()
或GetObjectType()
。如果对象句柄无效,它们应该返回NULL。
我可以看到你想用它进行调试的地方。在一个完美的世界中,我们会跟踪我们的物体并随时了解它们的位置。
我们不是一个完美的世界。