MFC框架中获取窗口/视图句柄

来源:互联网 发布:兖州法院网络联系 编辑:程序博客网 时间:2024/06/01 14:33

1 获取窗口句柄(用得较多的为:AfxGetApp()):

在CMainFrame(窗口)类中,可以用

HWND m_hWnd;m_hWnd = AfxGetMainWnd()->m_hWnd;

 取得窗口的句柄,如果在窗口类中获得一控件的句柄,可以用:GetDlgItem(控件ID)->m_hWnd;

如果在其他类中,可以用

HWND m_hWnd;m_hWnd = AfxGetApp()->m_hMainWnd->m_hWnd;

AfxGetApp()->m_hMainWnd;获得窗口的CWnd;在App类中已经有一个m_pMainWnd的成员变量,直接用m_pMainWnd->m_hWnd也可以获取窗口句柄;

HWND m_hWnd;m_hWnd = m_pMainWnd->m_hWnd;

2 获取试图句柄(主要还是用AfxGetApp()这个全局函数,可在程序的任何地方调用):

static HWND m_hWnd;static CView* m_pCview;m_pCiew = ((FrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();m_hWnd = ((FrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()->m_hWnd;

(FrameWnd*)强制转换不能少,这个类中才有方法:GetActiveView();



原创粉丝点击