用CWnd::CreateEx创建的窗口位置是相对于屏幕的,请问如何设置为相对于父窗口的?

解决方案 »

  1.   

    hWndParent指定父窗口句柄,x和y就是相对父窗口的
      

  2.   

    CreateEx( DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, HMENU nIDorHMenu, LPVOID lpParam = NULL );
      

  3.   

    +1也可以在父窗口的onsize 函数中 更新他的位置 Movewindow()
      

  4.   


    我的代码如下:
    void CDX_Project2View::OnD3dOpen()
    {
    // TODO: Add your command handler code here
    //MessageBoxA(NULL,"test!","D3D",MB_OK);
    m_D3DWnd.CreateEx(0,AfxRegisterWndClass(0,NULL,NULL,NULL),L"Direct3D窗口", WS_POPUP | WS_CAPTION |WS_VISIBLE,0,0,800,600,m_hWnd, 0);
    }
    但是创建的窗口就是用的屏幕坐标