zoukankan      html  css  js  c++  java
  • 窗口绘制存在的问题

    在做一些异形窗口时,往往会响应以下NC消息:

    WM_NCPAINT, WM_NCACTIVATE, WM_NCLBUTTONDOWN, WM_NCMOUSEMOVE。

    但是,对于NC区的处理方式会受到系统版本及桌面主题的影响。最明显的一个例子是,

    在XP和WIN7下,窗口标题栏的高度是不同的。正因为如此,采用响应NC消息进行窗口自绘是

    极其麻烦。

    另一种可行的方法是,将窗口的类型设置成无边框的,那么整个窗口区域都是客户区,客户区的

    绘图操作完全由程序员自己控制,不会受到系统、桌面主题的影响。采用这个方法的缺点在于,

    失去了标题栏的拖动功能。其实,只要响应WM_NCHITTEST,然后在适当的区域返回HTCAPTION,

    就可以让窗口的某个区域具有标题栏的拖动作用。需要注意的是,如果某个区域的HITTEST返回

    HTCAPTION,那么这个区域将不会收到WM_LBUTTONDOWN,WM_MOUSEMOVE。取而代之的是,

    WM_NCLBUTTONDOWN, WM_NCLBUTTONUP。

     

     

    PS:到目前为止我还是不会响应WM_NCLBUTTONUP。

  • 相关阅读:
    Antenna Placement poj 3020
    Asteroids
    深入了解IOC
    Java读取.properties配置文件
    java使用插件pagehelper在mybatis中实现分页查询
    javaweb分页查询实现
    java生成UUID
    java验证码的制作和验证
    java调用天气预报接口案例
    Maven入门
  • 原文地址:https://www.cnblogs.com/fwycmengsoft/p/3026256.html
Copyright © 2011-2022 走看看