鼠标消息 移动对话框的有关问题

鼠标消息 移动对话框的问题
我现在是做个这样的功能,当鼠标移动到对话框的时候,会有一个半透明的显示信息的子对话框显示出来。
这个对话框的高宽为200,假设屏幕分辨率为1440*900的,我的鼠标放在X点大于1240,我就想把对话框移动到上边的位置,当鼠标移动到Y点大于700以上,我就想把对话框移动到左边来。代码如下。可是老是出不来。也不知道问题出哪,如果我按照鼠标当前的位置显示对话框还是没问题的。

  int cx = LOWORD(lParam); //鼠标在窗口中的X坐标
  int cy = HIWORD(lParam);//鼠标在窗口中的Y坐标

  CPoint point(cx, cy);
// int iScreenWidth = GetSystemMetrics(SM_CXSCREEN);
// int iScreenHeigh = GetSystemMetrics(SM_CYSCREEN);
  ClientToScreen(&point); //获得鼠标在屏幕中的坐标
  if (point.x >1240)
  {
  point.x -= 200;
  }

  msgDLg = new CMyMsgDlg;
  msgDLg->m_point = point;
  msgDLg->Create(IDD_MESSAGEDLG);
  msgDLg->ShowWindow(SW_SHOW);
  return 0;

求高手指点。谢谢


------解决方案--------------------
MoveWindow函数 ?
------解决方案--------------------
以前做的一个小程序,随着鼠标的移动透明对话框跟着移动时:
把窗口显示出来了后,设置一个定时器,然后用MoveWindow()移动窗体
我有事,只能把以前的代码贴出来看看
C/C++ code

    CPoint point;
    ::GetCursorPos(&point);
    int xPos,yPos;
    if(point.x>(mX-163)&&point.y>(mY-158))
    {
        xPos=point.x-163;
        yPos=point.y-158;
    }
    else if(point.x>(mX-163))
    {
        xPos=point.x-163-10;
        yPos=point.y+5;
    }
    else if(point.y>(mY-158-25))
    {
        xPos=point.x-5;
        yPos=point.y-158-10;
    }
    else
    {
        xPos=point.x+5;
        yPos=point.y+30;
    }
    pTransDlg->MoveWindow(xPos,yPos,163,158,TRUE);

------解决方案--------------------
在透明对话框初始化程序里面跟踪调试一下啊,看有没有进到里面
------解决方案--------------------
对话框初始化的时候setwindowpos是否有问题,在msgDLg->Create(IDD_MESSAGEDLG);之后
msgDLg->setwindowpos(。。。。。);试试