我想弹出一个对话框,
在对话框里面输入SDI界面的大小和其标题,
点击“确定”之后,此设置立即实现,
也就是SDI的大小和其标题都动态的变换了。。分不多,求高人解答。。

解决方案 »

  1.   

    给主框架发送WM_SIZE 来改变大小::PostMessage(hwnd,WM_SIZE,wparm,lparam);hwnd为主框架句柄 wparm为窗口类型 laprm为窗口大小
      

  2.   

    void CMainFrame::OnPaint() 
    {
    CPaintDC dc(this); // device context for painting
    //这样设置一个文档的标题,不然会出现"无标题"的情况
    SetWindowText("环保通讯客户端");

    }
      

  3.   

    taoshengyijiu20008:SetWindowText决不应该放在OnPaint中的
      

  4.   

    在button的事件处理函数中
    调用SetWindowPos和SetWindowText就可以实现!
      

  5.   

    添加自定义消息UM_SETWTEXT1.stdafx.h中定义
    #define UM_SETWTEXT         WM_USER + 500
    2.Mainfrm.c中添加
    //BEGIN_MESSAGE_MAP
    ON_MESSAGE(UM_SETWTEXT,OnSetWText)
    //END_MESSAGE_MAP()
    3.OnSetWText 中实现
    {
        SetWindowText(str);
    }4.窗体确定实现中添加
    ::PostMessage(pMainFrame->m_hWnd,UM_SETWTEXT,0,0);
      

  6.   

    顶this, 改变窗口标题发 WM_SETTEXT 消息也可。
      

  7.   

    谢谢上面各位。。最后我还是用了::SetWindowPos()具体参数是 ::SetWindowsPos(theApp.GetMainWnd()->GetSafeHwnd(),
    ((CMainFrame*)theApp.GetMainWnd())->GetSafeHwnd(),
    **, **,
            **, **,
                            SWP_NOZORDER);
    1:前俩个参数和最后那个参数是我自己探索出来的,不知道为什么最后一个参数必须是SWP_NOZORDER才可以改变掉窗口的大小,其它的参数都无效。
    2:还有就是如果用SetWindowPos()我还是不能实现其功能**代表的是我自己的位置大小参数,就不写了。。结贴给分了
      

  8.   

    ::SetWindowsPos(theApp.GetMainWnd()->GetSafeHwnd(), 
                               ((CMainFrame*)theApp.GetMainWnd())->GetSafeHwnd(), 
                               **, **, 
                               **, **, 
                               SWP_NOZORDER); 忘了格式代码