zoukankan      html  css  js  c++  java
  • FrameWnd中多个view切换

    响应TreeView中Item点击然后动态切换FrameWnd中的view.

    在FrameWnd中加上响应消息函数然后新建view,例:

    LRESULT CRightFrm::OnAddOutMessage(WPARAM wParam, LPARAM lParam)
    {
         m_AddOutView = new CAddOut();//CAddOut是事先建好的view类,基于FormView,放几个控件在上面
        CRect cr;
        this->GetWindowRect(&cr);
        m_AddOutView->Create(NULL, NULL,WS_CHILD,CRect(0,0,cr.Width(),cr.Height()),this,1001);
        m_AddOutView->ShowWindow(SW_SHOW);
        return 0;

    然 后编译运行,点击对应树的Item,可以看到CAddOut显示出来了,可是点击此view上的任何东西(控件等)都没反应,可见这样写还是不够的,分析 原因,此view现在是FrameWnd的Client区,也就是现在Client区是无效的,所以没响应,因此,再加上一个函数,使Client区变得 有效:

    BOOL CRightFrm::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
    {
        // TODO: Add your specialized code here and/or call the base class
        
        return TRUE;//CFrameWnd::OnCreateClient(lpcs, pContext);
    }

    再编译运行,CAddOut上的东西终于有反应啦

  • 相关阅读:
    (二十三)、int与integer的区别
    (二十一)、Java序列化与反序列化
    (二十)、MVC设计思想的优缺点
    (十九)、列出自己常用的JDK包
    (十八)、Session与Cookie区别
    win10 下安装laravel
    冒泡排序
    常用php正则表达式
    AE网站
    AE压缩网站
  • 原文地址:https://www.cnblogs.com/jayceli/p/2428651.html
Copyright © 2011-2022 走看看