C++技巧之三

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

代码清单1 window_update_scope的节略本/* /////////////////////////////////////////////////////////////

*

* ...

*

* Extract from winstl_window_update_scope.h

*摘录自 winstl_window_update_scope.h

*

* www: http://www.synesis.com.au/winstl

* http://www.winstl.org/

*

* Copyright (C) 2002, Synesis Software Pty Ltd.

*版权所有 (C) 2002, Synesis Software Pty Ltd.公司

* (Licensed under the Synesis Software Standard Source License:

* http://www.synesis.com.au/licenses/ssssl.html)

* (由Synesis Software Standard Source License授权许可:

* http://www.synesis.com.au/licenses/ssssl.html)

*

* ...

*

* ////////////////////////////////////////////////////////// */

...

namespace winstl

{

class window_update_scope

{

// Construction

// 构造

public:

// Takes a HWND and changes it's current update-status,)

// which is set back to the original state in the

// destructor.

// 取得HWND 句柄并改变其当前更新状态,在析构器中设置其回到初始状态。

ws_explicit_k window_update_scope(HWND hwnd)

: m_bIsLocked(hwnd != NULL && ::LockWindowUpdate(hwnd))

{}

~window_update_scope() winstl_throw_0()

{

if(m_bIsLocked)

{

// Lock was successful, so undo here

// 锁定成功,因此此处反向操作

::LockWindowUpdate(NULL);

}

}

// Members

//成员变量

protected:

ws_bool_t m_bIsLocked;

// Not to be implemented

//不被实现

private:

window_update_scope(window_update_scope const &rhs);

window_update_scope const

&operator =(window_update_scope const &rhs);

};

} // namespace winstl

//名称空间winstl

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航