zoukankan      html  css  js  c++  java
  • 如何禁止窗体上系统按钮的重绘

    //===================
    //作者:aaaSoft
    //日期:2010年2月9日
    //论坛:http://bbs.scbeta.com/
    //===================

    要做出一个好看的界面,必然要自己处理窗体的边框和标题框,也就是非客户区(Non-ClientArea)。一般来说拦截窗体的WM_NCPAINT就可以自己想画什么就画什么了。不过当窗体激活/非激活时,你就会发现Windows自带的标题栏,边框,系统按钮就冒出来了。虽然可以在WM_NCACTIVATE处再画一次标题栏边框等,但窗体会出现闪烁。如果在NCACTIVATE消息被处理前禁止窗体的重绘,等NCACTIVATE消息处理完成后再允许窗体的重绘,那么就能解决这个问题了。那就是今天的主角:WM_SETREDRAW。

    禁止窗体重绘:
    SendMessage(hWnd, WM_SETREDRAW, FALSE, 0L);
    允许窗体重绘:
    SendMessage(hWnd, WM_SETREDRAW, TRUE, 0L);


    PS:这个问题已经困扰了我很久,总算在Google上找到答案了,今天分享给大家。
  • 相关阅读:
    记录下python学习中,容易弄混和实用的知识点
    操作系统简史
    计算机结构
    计算机结构
    电脑简史
    电脑简史
    为什么学Python
    为什么学Python
    树莓派更换更新国内源
    树莓派更换更新国内源
  • 原文地址:https://www.cnblogs.com/aaaSoft/p/1666256.html
Copyright © 2011-2022 走看看