是不是没说清!
当对Dialog初始化用LoadMenu、SetMenu加载Menu时怎样使Dialog位置不变(就是其上的控件不相对下移),在线等待

解决方案 »

  1.   

    要使Dialog位置保持不变,可使用SetWindowPos()函数,具体用法参见MSDN。
         其实,为使Menu保持不变,可在Dialog模板中的相关选项中直接装入菜单即可。
         不知我有没有理解清楚?
      

  2.   

    用GetSystemMetrics(SM_CYMENU)取得菜单高度,然后把所有控件向下移此便宜,并且把dialog高度增加此数量。
      

  3.   

    To  netcoder(四眼先锋) upstairs:我的意思是GetSystemMetrics(SM_CYMENU)取得菜单高度后怎样用GetWindowRect、CRect或SetWindowPos进行top、bottom的增减。
    给几句代码看看吧,不好意思,我很菜!
      

  4.   

    最好是重载GetWindowRect,GetWindowPos,MoveWindow,GetClientRect这几个函数在其中用GetSystemMetrics(SM_CYMENU)取得菜单高度后再修正窗口高度值
      

  5.   

    To xiaoxiaohan(萧晓寒):GetClientRect得到窗口客户区,这个我知道,但我很菜,请给两句
    代码看!怎样进行top、bottom的增减。谢了先!
      

  6.   

    To  yu_hl(卖柴火的小男孩):谢谢你的方法,Dialog初始化没问题了!接着问题又来了,因为Dialog的
    Style:Popup
    Border:Resizing
    鼠标拖动Dlg border缩小其高度,上面的Button又被埋住,困惑?
    救命呀,老大!
      

  7.   

    把对话框的风格设成不可Resize的。
      

  8.   

    Dlg Border:Resizing是程序的需要,必须的!
    好困惑呀,很小的问题但对我是大问题,救命呀!
      

  9.   

    To yu_hl(卖柴火的小男孩):短信收到了没?老大几时下,我们还能谈到几时呀,救命!