请问,怎么在窗口中间显示按钮??
不是对话框,是普通窗口。
谢谢!

解决方案 »

  1.   

    能的
    相应WM_SIZE消息,在lParam参数里有当前窗口的大小
    x = (LOWORD)lParam;
    y = (HIWORD)lParam;然后对你那个按钮设置位置
      

  2.   

    谢谢。
    我知道按钮的位置是在Create()中设定的。
    当窗口大小改变后,可以得到窗口的大小。
    但是,呃...怎么才能重新设置按钮在窗口中的位置呢(一定是会变的)?
      

  3.   

    // ====================================================================
    void CCSDN_DlgDlg::CenterButton()
    {
          CRect     rectDlg, rectButton;
          INT        nTop, nLeft;      GetClientRect( rectDlg );
          m_btnOK.GetWindowRect( rectButton );      nLeft = ( rectDlg.Width() / 2 ) - ( rectButton.Width() / 2 );
          nTop  = ( rectDlg.Height() / 2 ) - ( rectButton.Height() / 2 );      m_btnOK.SetWindowPos( NULL, nLeft, nTop, 0, 0, SWP_NOSIZE );
    }// ====================================================================
    BOOL CCSDN_DlgDlg::OnInitDialog()
    {
          ...........      CenterButton();  // 居中显示
          
          return TRUE;
    }// ====================================================================
    void CCSDN_DlgDlg::OnSize(UINT nType, int cx, int cy) 
    {
          ...........      // 居中显示
          if( ( m_hWnd != NULL ) && ( m_btnOK.GetSafeHwnd() != NULL ) )
       CenterButton();  
    }