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();  

  • 相关阅读:
    Day 10 网络基础
    Day9 编码和网络基础 Encoding and network
    Day 8 数据与进制转换
    Day 7 文件管理补充和练习 File management & exercises
    5--kubernetes实战初入门
    4--k8s之资源管理 ; yaml语言
    3--二进制安装k8s
    kubernetes之安装集群图形化界面Dadhboard
    2--kubeadm安装k8s
    1--kubernetes简介及架构图
  • 原文地址:https://www.cnblogs.com/lidabo/p/2568648.html
Copyright © 2011-2022 走看看