在程序运行的过程中,如何让对话框上的控件如何移动或是在指定的的坐标位置摆放和指定其大小?

解决方案 »

  1.   

        MoveWindow吧
        SetWindowPos功能多点,比如能把窗口放在最上面
      

  2.   

    直接用啊,比如
    CRect rect(10,10,20,20);
    MoveWindow(&rect,TRUE);
      

  3.   

    不行啊,这样的话整个窗口都没了,
    比如,我要移动TestDlg对话框上ID为IDC_STATIC1的控件到坐标(200,100)的位置,该如何操作,多谢指教!
      

  4.   

    HWND hStaticWnd = GetDlgItem(hDlg, IDC_STATIC1); /*得到ID为IDC_STATIC1的控件的句柄*/
    MoveWindow(hStaticWnd, 0, 0, 100, 100, TRUE);
    /*这里将这个控件移到(0, 0), 并设置该控件的宽度和高度都为100, 最后一个参数是通知窗口刷新*/
      

  5.   

    hDlg该如何定义,程序报错如下:
     : error C2065: 'hDlg' : undeclared identifier
     : error C2661: 'MoveWindow' : no overloaded function takes 6 parameters
      

  6.   


    HWND hStaticWnd = GetDlgItem(IDC_STATIC1)->m_hWnd; /*得到ID为IDC_STATIC1的控件的句柄*/ 
    ::MoveWindow(hStaticWnd, 0, 0, 100, 100, TRUE); 
    /*这里将这个控件移到(0, 0), 并设置该控件的宽度和高度都为100, 最后一个参数是通知窗口刷新*/
      

  7.   


    你是win32程序还是MFC???
    貌似是MFC,我写的是win32的代码,应该是“TrOj4n”写的代码。