对话框大小不改变,想在显示的 时候出现在右上角某一位置,比如:
int   cx   =   GetSystemMetrics(SM_CXSCREEN);   
int   cy   =   GetSystemMetrics(SM_CYSCREEN);  
得到大小后::SetWindowPos(5*cx/6,5*cy/6,?,?,?);
PreCreateWindow中该如何实现呢? 请大家帮帮忙,谢谢!

解决方案 »

  1.   

    可以更改 cs 的 x, y 的成员。
    如果更改 cx, cy 则可以改变窗口的大小。
      

  2.   

    对话框没有PreCreateWindow,你放在OnInitDialog里面
    SetWindowPos(5*cx/6, 5*cy/6, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
      

  3.   

    在OnInitDialog()中 
    int  cx  =  GetSystemMetrics(SM_CXSCREEN);  
    int  cy  =  GetSystemMetrics(SM_CYSCREEN);  SetWindowPos( &wndTopMost  ,cx/10,cy/10, 0,0,SWP_NOSIZE );
      

  4.   

    如果你的对话框是非模态对话框 也就是用create创建的dialog,这是很容易的事情,在确认dialog已经创建成功的任意地方都可以设定位置大小。但如果是模态对话框,MFC domodal会主动调用centerwindow。所以我觉得对于这样的dialog,只好是在domodel完了以后再设定位置了。赫赫 也许