自适应对话框解决方案

自适应对话框
现在我用vs2008下的MFC做了一个对话框程序
拿到客户那边用发现他是15寸的显示屏
我的软件有点大了
现在我想把我的软件做成自适应
这个对话框如何更具屏幕的大小自己调整大小?
请教各位大侠
------解决方案--------------------

BOOL Zoom_Window(HWND hWnd, CRect TaregetEX_Pos, LPRECT mOrgRect=NULL, BOOL bZoomEx_Only=FALSE)
{
  if(hWnd)
  {
    BOOL IsVisable = IsWindowVisible(hWnd);

    if(!bZoomEx_Only)
    {
      ::SetWindowPos(hWnd, 0, 0, 0, 0, 0, SWP_NOZORDER
------解决方案--------------------
SWP_NOSIZE
------解决方案--------------------
SWP_HIDEWINDOW);

      CRect SrcWndRect;
      if(mOrgRect)
      {
        SrcWndRect = mOrgRect;
      }
      else
      {
        GetWindowRect(hWnd,&SrcWndRect);
      }

      DWORD style = GetWindowLong(hWnd, GWL_STYLE);

      INT_PTR Board_dx = 0, Board_dy = 0;

      if( WS_CAPTION == (style & WS_CAPTION) )
      {
        Board_dy += GetSystemMetrics(SM_CYCAPTION);
      }

      if( WS_DLGFRAME == (style & WS_DLGFRAME) )
      {
        Board_dx += 2 * GetSystemMetrics(SM_CXBORDER);
        Board_dy += 2 * GetSystemMetrics(SM_CYBORDER);
      }
      else if( WS_BORDER == (style & WS_BORDER) )
      {
        Board_dx += GetSystemMetrics(SM_CXBORDER);
        Board_dy += GetSystemMetrics(SM_CYBORDER);
      }
      else
      {
      }

      double dx = (double)(TaregetEX_Pos.Width() - Board_dx) / (double)(SrcWndRect.Width() - Board_dx);
      double dy = (double)(TaregetEX_Pos.Height() - Board_dy) / (double)(SrcWndRect.Height() - Board_dy);

      HWND hChild = ::GetWindow(hWnd, GW_CHILD);
      while(hChild != NULL)
      {
        CRect rect;
        GetWindowRect(hChild, &rect);
        CPoint pt_lt(rect.left, rect.top);
        ScreenToClient(hWnd, &pt_lt);
        MoveWindow(hChild,