请问如何初始化对话框原始位置,我想应该在WM_INITDIALOG消息下吧,我的想法是对话框建立后使其位置固定在(x,y)点,另外如何使对话框始终在前端显示,该对话框是使用模态和非模态,哪个更适合要求??请各位高手帮忙,在线求解 我QQ 120036721 tel:13656131982,方便的话可与我联系。

解决方案 »

  1.   

    OnPaint() 中写入
    CRect rect;
    GetClientRect(rect);
    this->MoveWindow(x,y,rect.Width(),rect.Height(),TRUE);
    模态还是非模态都可以吧
      

  2.   

    CRect rect;
    GetClientRect(rect);
    this->MoveWindow(x,y,rect.Width(),rect.Height(),TRUE);
    我这样做的,但是一打开就隐藏了
    需要加ShowWindow(SW_SHOW)吗??
      

  3.   

    可以了,应该是获得GetWindowRect 是窗口位置 而GetClientrect是客户区位置
    继续请问如何让窗口一直在前端显示了??
      

  4.   

    this->MoveWindow(0,0,UIWIDTH,UIHEIGHT);
    CenterWindow();
    将这两行代码写在init中
      

  5.   

    现在问题解决了 在OnInitDialog()
    CRect rect;
    GetWindowRect(rect);
    this->MoveWindow(0,113,rect.Width(),rect.Height(),TRUE);
    继续求助,如何使得窗口一直前端显示??急
      

  6.   

    OnPaint() 中写入
    CRect rect;
    GetClientRect(rect);
    this->MoveWindow(x,y,rect.Width(),rect.Height(),TRUE);
    模态还是非模态都可以吧这种不可取,效率不太好,我建议还是放到OnInitDialog
      

  7.   

    SetWindowPos(&wndTopMost,
    0, 0, 0, 0, 
    SWP_NOMOVE| SWP_NOSIZE);//置顶