添加两个按钮
当前窗口的指针就是当前窗口的地址
所学
- 通过HWND (句柄)获得CWnd指针
- 获得应用程序主窗口的指针
void CpointdemoDlg::OnBnClickedButton1()
{
//获取当前窗口的指针(地址),
HWND hWnd = GetSafeHwnd(); //得到安全的窗口句柄,
CWnd* pWnd = CWnd::FromHandle(hWnd); //从句柄得到指针
CString s;
//pwnd是得到的指针,this也是指向该窗口的指针,二者相等,都是用16进制表示。
s.Format(_T("pWnd=0x%X\nthis = 0x%X\n"),pWnd,this);
AfxMessageBox(s);//弹框显示
}
void CpointdemoDlg::OnBnClickedButton2()
{
//通过AfxGetApp()获取应用程序app指针
CpointdemoApp* pApp = (CpointdemoApp*)AfxGetApp();
//获得主窗口的指针
CWnd* pMainWnd = pApp->m_pMainWnd;
CString s;
//this指针是当前窗口的
s.Format(_T("pWnd=0x%X\nthis = 0x%X\n"),pMainWnd,this);
//因为就一个窗口,所以都一样
AfxMessageBox(s);
}