zoukankan      html  css  js  c++  java
  • 在MFC中获取窗口\视图句柄 &获取当前活动的CView .

    1 在多文档多视图的MFC架构中,要想获得当前选中的CView可重写CView::OnActivateView函数,如下:

    void
    OnActivateView(BOOL bActivate,
                  CView * pActivateView,
                  CView * pDeactiveView)
    {
     if(bActivate)
     {
         SetEnable(TRUE);
     }
     else
     {
         SetEnable(FALSE);
     }

        CView::OnActivateView(bActivate,
                                 pActivateView,
                         pDeactiveView);
    }

    2 获得窗口或者视图句柄

    2.1 获得窗口句柄

    要找到某个CWnd对象的HWND,用GetSafeHwnd()。

    在窗口类中,有句柄的成员变量,可以直接访问:   m_hWnd   
    在窗口类外,可以用AfxGetMainWnd()->m_hWnd获得。

    在MainFrame里直接用this;   
    其它地方用   CMainFrame*   pMainFrame   =   (CMainFrame*)theApp.m_pMainWnd;  

    想得到一个控件的的句柄

    GetDlgItem(ID…)->m_hWnd

    2.2 获得视图的句柄

    AfxGetMainWnd()->GetActiveView();

    SDI:   ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();     
    MDI:   ((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveFrame()->GetActiveView();  

  • 相关阅读:
    ajax请求
    easyui相关问题
    linux解压命令
    angular2 中文学习资料整理
    在angular2服务中注入服务
    Angular 2模板语法
    登录,注册流程(基于token的身份验证)
    Node Js与JavaScript的区别及nodejs优缺点。
    yarn包管理网站
    浅谈Cookie,Session,WebStorage区别,应用场景
  • 原文地址:https://www.cnblogs.com/lidabo/p/2568648.html
Copyright © 2011-2022 走看看