最近在用vc++ 作一个窗体
窗体作成xp风格
窗体标题栏,最大化,最小化,还原,关闭的按钮,都使用自己做的图形来代替
最后实现后发现一个问题
正常情况下的windows窗体,都会有一个边框的,任意打开一个windows程序窗体看,都可以看到。比较一下,当窗体不是最大化时,可以看到title上面其实有一些白条的,当最大化是,窗体title蓝色就顶到了屏幕的最上发,白条没有了
这个白条高度好像可以在windows桌面属性里面设置,但是,这个高度必须设置为〉=1的高度
那么我的程序中,我自己画的代替标题栏的图形就会在窗体最大化的时候被遮住一部分
不知道有没有朋友遇到过这种问题,或者谁能给一个好点的解决方案
注明一下,作为title的图标不可以修改

解决方案 »

  1.   

    或者最大化的时候调整一下自己所画图标的位置
    注意:假设系统所设定的窗口框架宽度是i,
    最大化时,主窗口的屏幕坐标是(-3-i,-3-i,屏幕宽+i+3,屏幕高-任务栏高+i+3)
      

  2.   

    SystemParametersInfo,带SPI_GETNONCLIENTMETRICS参数获得当前系统设置的窗口非客户区信息
      

  3.   

    GetSystemMetrics  来获取你要的边框的宽、高值,看一下MSDN就有了
      

  4.   

    int i=0;
    SystemParametersInfo(SPI_GETBORDER,0,&i,0);