请问,怎么能让我的对话框没有边框,就象一片纸一样,谢谢了

解决方案 »

  1.   

    打开对话框的属性,
    在styles里将Border选为None
      

  2.   

    用代码不能实现吗?因为我要选RESIZING(在BORDER里)
      

  3.   

    ::SetWindowLong(this->m_hWnd,GWL_STYLE,0x9408004c);
    ::SetWindowLong(this->m_hWnd ,GWL_EXSTYLE,0x00050000);
    ::SetWindowPos(this->m_hWnd,NULL,0,0,0,0,SWP_FRAMECHANGED|SWP_NOSIZE|SWP_NOMOVE);
    就可以了呀,一个窗口的样式主要有2点决定,一个是样式,一个是扩展样式,第一个句是改变窗口的样式,第二句是改变扩展样式,第三句是使改变起作用
    0x9408004c和0x00050000分别代表 “对话框没有边框”的两个样式的值

    当然你可以用GetWindowLong()得到样式参数,再把特定的样式参数去掉也就可以了
      
      

  4.   

    to phbzy(平凡) 
    先谢谢你了,可你的程序运行报错呀,还有改变的样式还是有边框,但不明显,不能达到在
    BORDER里选NONE的效果
      

  5.   

    我用的是2000系统,并且两种样式都是固定的,你怕麻烦用spy++工具得到你想要的样式的代码,再替换掉以上的样式参数就可以了呀
      

  6.   

    to phbzy(平凡) 
    SORRY,你的代码我又试了,没问题,可把边框用代码变为无的时候,为什么在属性的的RESIZING就无效了呢?难道微软不让两者并存吗?请指教!
      

  7.   

    怎么能得到NONE的两个样式值呢?
      

  8.   

    具体一点,什么意思,resizing是不是事件呀,是不是事件resizing不触发?
      

  9.   

    用spy++工具看看你应用程序的窗口,窗口的属性中有样式
      

  10.   

    不是,是我在属性框里选种了RESIZING,然后在一个BUTTON里写了你给的“无边框”的代码
    然后我运行,现在可以改窗口的到小,但我按下BUTTON后,窗口马上变成没有边框的样子,但
    改不了大小了,所以,我觉得是不是微软不让这么做呢?可我亲眼看到过我说的那种窗口--能
    改大小也没边框的。
      

  11.   

    RESIZING是在窗口的属性里选的一个属性,选中后,窗口可以改大小
      

  12.   

    是呀,RESIZING需要WS_RESIZEBOX参数支持,当他没有边框的时候自然就不能改变大小了呀,实现你所要的功能,1。自己重会自己的窗口。 2。自己在无边框的窗口中模拟RESIZING动作
      

  13.   

    那请问,我怎么才能模拟RESIZING动作呢?