C++技巧之四
来源:互联网 发布:网页美工设计培训价格 编辑:程序博客网 时间:2024/05/01 02:46
代码清单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 it's 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 名称空间
图表 1 Window作用域(scope)例子
- C++技巧之四
- MFC 技巧之四
- MFC 技巧之四
- Linux常用技巧之四
- 日积月累--小技巧之四
- Visual C++编程技巧之四
- CSDN博客变形小技巧之四
- QQ技巧之禁用QQ四法
- Visual C++编程技巧之四
- Android实战技巧之四:语音识别
- code技巧之四字节对齐
- 细读《Effective C++》之四
- 细读《Effective C++》之四
- 细读《Effective C++》之四
- C 语言之四 编译器
- 【C解析之四】指针
- 《C++Premier》读书笔记之四
- 【C解析之四】指针
- Delphi使用VB编写的ActiveX控件全攻略
- DBF文件输出到WORD
- C++技术技巧之一
- C++技术技巧之二
- C++技巧之三
- C++技巧之四
- C++技巧之五
- C++技巧之六
- XML名词(不看要后悔啊)
- Delphi开发单机瘦数据库程序要点
- 第三方控件使用方法
- 用Delphi编写数据报存储控件
- Delphi的消息处理
- Delphi 组件撰写常问问题