你可以使用SetWindowPos函数就可以了!

解决方案 »

  1.   

    在 OnInitDialog() 加 MoveWindow(0,0,100,100)!
      

  2.   

    不好意思,刚刚搞错了,应该在 WM_CREATE or WM_PAINT 中试一试!
      

  3.   

    现添加这个消息:WM_WINDOWPOSCHANGING,会得到这个函数 OnWindowPosChanging(...):void CTipsDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos) 
    {
    CDialog::OnWindowPosChanging(lpwndpos);

    // TODO: Add your message handler code here       
    int x =  GetSystemMetrics( SM_CXSCREEN );
    int y = GetSystemMetrics( SM_CYSCREEN ); if(lpwndpos->cx == -1)
    if(lpwndpos->cy == -1)
    {
    lpwndpos->x = x - 200;
                               lpwndpos->y = 20/y; 
    }
    }
    我的dialog的长和宽是: 200, 20;
      

  4.   

    你可以在资源里做呀
    在对话框资源的属性里
    general里的xpos设为-100 ypos设为-100就可以了呀
      

  5.   

    那有那么麻烦,在OnInitDialog()里
    SetWindowPos(NULL,0,0,100,100,NULL);
      

  6.   

    对话框有一个风格: "Absolute Align" 设上。
    或者加上这个:int CTestPrjDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    {
    lpCreateStruct->style |= 0x01;
    if (CDialog::OnCreate(lpCreateStruct) == -1)
    return -1;

    return 0;
    }