在oninitialdialog()里用movewindow()
MoveWindow
The MoveWindow function changes the position and dimensions of the specified window. For a top-level window, the position and dimensions are relative to the upper-left corner of the screen. For a child window, they are relative to the upper-left corner of the parent window's client area. BOOL MoveWindow(
  HWND hWnd,      // handle to window
  int X,          // horizontal position
  int Y,          // vertical position
  int nWidth,     // width
  int nHeight,    // height
  BOOL bRepaint   // repaint flag
);
 
Parameters
hWnd 
Handle to the window. 

Specifies the new position of the left side of the window. 

Specifies the new position of the top of the window. 
nWidth 
Specifies the new width of the window. 
nHeight 
Specifies the new height of the window. 
bRepaint 
Specifies whether the window is to be repainted. If this parameter is TRUE, the window receives aWM_PAINT message. If the parameter is FALSE, no repainting of any kind occurs. This applies to the client area, the nonclient area (including the title bar and scroll bars), and any part of the parent window uncovered as a result of moving a child window. If this parameter is FALSE, the application must explicitly invalidate or redraw any parts of the window and parent window that need redrawing. 
Return Values
If the function succeeds, the return value is nonzero.If the function fails, the return value is zero. To get extended error information, callGetLastError.Res
If the bRepaint parameter is TRUE, the system sends the WM_PAINT message to the window procedure immediately after moving the window (that is, the MoveWindow function calls the UpdateWindow function). If bRepaint is FALSE, the system places the WM_PAINT message in the message queue associated with the window. The message loop dispatches the WM_PAINT message only after dispatching all other messages in the queue. MoveWindow sends WM_WINDOWPOSCHANGING, WM_WINDOWPOSCHANGED, WM_MOVE, WM_SIZE, and WM_NCCALCSIZE messages to the window. Windows CE: The bRepaint parameter is ignored and is assumed to be FALSE. QuickInfo
  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.See Also
Windows Overview, Window Functions, SetWindowPos,UpdateWindow, WM_GETMINMAXINFO,WM_PAINT  

解决方案 »

  1.   

    具体在哪加入SetWindowPlaceMent,
      

  2.   

    在Initdialog里面:
    CRect rectWorkArea = CRect(0,0,0,0);
    SystemParametersInfo(SPI_GETWORKAREA,0, (LPVOID)&rectWorkArea, 0);
    CRect rectMe;
    GetWindowRect(&rectMe);
    rectMe.left = rectWorkArea.Width() - rectMe.Width();
    rectMe.top = rectWorkArea.Height() - rectMe.Height();
    rectMe.right = rectWorkArea.Width();
    rectMe.bottom = rectWorkArea.Height();
    MoveWindow(&rectMe);