C 技巧之四(MFC)

文章作者 100test 发表时间 2008:03:05 14:23:29
来源 100Test.Com百考试题网


代码清单2 window_redraw_scope的节略本
/* /////////////////////////////////
*
* ...
*
* Extract from winstl_window_redraw_scope.h
*摘录自winstl_window_redraw_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_redraw_scope
{
// Construction
// 构造
public:
// Takes a HWND and changes its current redraw-status,
// which is set back to the original state in the
// destructor.
//取得HWND 句柄并改变其当前重画状态,在析构器中设置其回到初始状态。
ws_explicit_k window_redraw_scope(HWND hwnd,
ws_bool_t bInvalidateOnUnlock = true)
: m_hwnd(hwnd)
, m_bInvalidateOnUnlock(bInvalidateOnUnlock)
{
::SendMessage(m_hwnd, WM_SETREDRAW, false, 0L).
}

~window_redraw_scope() winstl_throw_0()
{
::SendMessage(m_hwnd, WM_SETREDRAW, true, 0L).

if(m_bInvalidateOnUnlock)
{
::InvalidateRect(m_hwnd, NULL, true).
}
}
  // Members
// 成员变量
protected:
HWND m_hwnd.
ws_bool_t m_bInvalidateOnUnlock.
  // Not to be implemented
// 不被实现
private:
window_redraw_scope(window_redraw_scope const &.rhs).
window_redraw_scope const
&.operator =(window_redraw_scope const &.rhs).
}.
} // namespace winstl 名称空间



相关文章


重点复习内容:电子检验检疫
一个美国老工程师的心里话:给年轻工程师的十大忠告(译本)
注册建筑师建筑学知识三
注册建筑师建筑学知识四
C 技巧之四(MFC)
出口货物应随附的单证
天津:2007年度全国注册建筑师资格考试合格标准及领证事宜
c 技巧之二(MFC)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛