afxgetmainwnd专题

AfxGetApp()-GetMainWnd与AfxGetMainWnd的区别

近日,调试程序在工作线程中要使用到主对话框的一个成员变量,当时懒得使用参数传递的方式,直接在函数里面通过afxGetmainWnd获取主窗口指针再通过指针获取成员变量的值,结果运行时报0x000005错误,当把afxGetmainWnd换成AfxGetApp()->GetMainWnd时确一切OK,运行正常,查阅资料得知: AfxGetMainWnd获取的是当前窗口指针; AfxGetApp

【MFC】AfxGetMainWnd()函数使用心得

关于AfxGetMainWnd()函数的通常认识: 1、使用AfxGetMainWnd()函数获取MFC程序中的主框架类指针是一个常用作法。 2、获得应用程序主窗口的指针的方法,AfxGetMainWnd()->m_hWnd或者AfxGetMainWnd()->GetSafeHwnd()。   但是,在用户线程中调用AfxGetMainWnd()函数好像就不灵了,为什么? 调试如下程序,

AfxGetApp(),this-GetSafeHwnd(),AfxGetMainWnd()-m_hWnd

这3个函数经常弄混:        其中AfxGetApp()是得到代表应用程序的唯一对象the  app的地址,和框架、窗口这些不相干;新建的MFC程序的对话框构造函数中就有一句代码m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);加载这个应用程序的ID为IDR_MAINFRAME的图标,作为这个对话框的图标。       AfxGetMainWn