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);

};

原创粉丝点击