我在一个多对话框显示的视图中  某一时刻显示一个模态对话框  可是在显示的时候有时候有 有时候就闪一下就没了 
比如当MoveWindow(10,10,1024,1000) 就可以显示  但在MoveWindow(10,10,1200,1000) 就只是闪一下

解决方案 »

  1.   

    不是这个原因啊  MoveWindow(0,0,g_Screenx,g_Screeny) ;这样也不行 g_Screenx,g_Screeny分别是屏幕的大小啊   
      

  2.   

    你应该这样:(1)在create 时让它隐藏,即 DWORD dwStyle 的 WS_VISIBLE 为假;
                (2)MoveWindow();
                (3)ShowWindow(SW_SHOW);
    这样应该就不会闪了。
      

  3.   

    这样建立的非模态对话框 还是出现和上边一样的问题  根据MoveWindow();里的参数不同 有时候可以显示 有时候只是闪一下 
      

  4.   

    MoveWindow  函数功能:该函数改变指定窗口的位置和尺寸。对于顶层窗口,位置和尺寸是相对于屏幕的左上角的:对于子窗口,位置和尺寸是相对于父窗口客户区的左上角坐标的
    所以你的模态对话框如果不是top_level window,则是对应父窗口的左上角的。
    你看看是不是这个问题。
    如果还没解决,建议你用SetWindowPos,这个比movewindow强大,而且好用。
      

  5.   

    关于10楼提到的问题,楼主可以自己测试一下,用Spy++,跟踪一下你的窗口,看看你的窗口不见后的状况,是否还在,如果还在,窗口的位置坐标到底是多少。
      

  6.   


    这样吧:先把窗口隐藏,ShowWindow(SW_HIDE); 然后再MoveWindow();最后ShowWindow(SW_SHOW);应该就OK了!
      

  7.   

    设一个指针变量指向显示的窗口,当你想显示其他的对话框时,先ShowWindow(SW_HIDE)已经显示的对话框; 
    然后再ShowWindow(SW_SHOW)要显示的对话框;
    最后改变指针变量的取值
    MoveWindow();记得放在初始化里面
    偶是这样解决的不知道能不能帮到你·