处理WM_NCPAINT消息
来源:互联网 发布:做条形码的软件 编辑:程序博客网 时间:2024/04/30 20:08
处理WM_NCPAINT消息可以实现自绘窗口边框和标题栏。
手头有个窗口需要自绘边框,于是处理了WM_NCPAINT消息,结果程序初运行时可以正常绘制,一旦最小化或者调整窗口位置后就看不到自绘的边框了。找了半天发现犯了个愚蠢的错误。在获取窗口矩形后未做处理便开始了绘图操作,现在加上平移操作,使要绘制的矩形左上角坐标归零后一切正常。
窗口包含WS_BORDER和WS_THICKFRAME风格,边框大小一般为4。
代码如下:
- if( uMsg == WM_NCPAINT )
- {
- HDC hdc;
- hdc = GetWindowDC(hWnd);
- // Paint into this DC
- RECT rcWin;
- GetWindowRect(hWnd, &rcWin);
- OffsetRect( &rcWin, -rcWin.left, -rcWin.top );
- for(int i=0; i<4; i++)
- {
- FrameRect(hdc, &rcWin, m_hbr[i]);
- InflateRect(&rcWin, -1, -1);
- }
- ReleaseDC(hWnd, hdc);
- return 0;
- }
0 0
- 处理WM_NCPAINT消息
- 处理WM_NCPAINT消息
- 处理WM_NCPAINT消息
- WM_NCPAINT消息
- wm_ncpaint消息
- WM_NCPAINT消息说明
- WM_NCPAINT消息说明
- WM_NCPAINT and GetDCEx
- 消息处理
- 处理消息
- 消息处理
- 处理消息
- 消息处理
- 处理消息
- 消息和消息处理之消息处理
- WM_PAINT, WM_NCPAINT, WM_ERASEBKGND的关系
- 消息映射与消息处理
- Android消息队列处理消息
- 为什么要开通博客
- java———方法的重载与重写的区别
- vs2010下libevent的使用
- myeclipse使用(技术和快捷键)
- ini_set的用法
- 处理WM_NCPAINT消息
- 修改字符串
- java处理数据文本时间小函数积累
- bash shell 获取当前正在执行脚本的绝对路径
- android中跨进程通讯的4种方式
- 批处理方式设置java环境变量
- 早买早享受
- 转载:oracle oci和thin的区别
- Android音频实时传输与播放(三):AMR硬编码与硬解码