ScopedHDC
来源:互联网 发布:知我网的东西是正品吗 编辑:程序博客网 时间:2024/06/05 14:27
class ScopedHDC {
public:
ScopedHDC() : hdc_(NULL) { }
explicit ScopedHDC(HDC h) : hdc_(h) { }
~ScopedHDC() {
Close();
}
HDC Get() {
return hdc_;
}
void Set(HDC h) {
Close();
hdc_ = h;
}
operator HDC() { return hdc_; }
private:
void Close() {
#ifdef NOGDI
assert(false);
#else
if (hdc_)
DeleteDC(hdc_);
#endif // NOGDI
}
HDC hdc_;
DISALLOW_EVIL_CONSTRUCTORS(ScopedHDC);
};