隆多假上篮视频:vc++程序中的这条语句是什么意思?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 02:28:40
建立一个基于对话框的MFC应用程序 aaa,产生了一个Aaa.cpp和AaaDlg.cpp. 在AaaDlg.cpp中有一个CAaaDlg类的构造函数,里面有一句:m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);是什么意思,有什么作用?
如果再插入几个新的对话框,这些新对话框类的构造函数就没有这样的语句.
如果在Aaa.cpp中创建一个全局变量对象: CAaaDlg ADlg;
则在执行这个对象的构造函数时,执行到m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 肯定就出错.这是怎么回事?

第一个问题:
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
这条语句是用来加载应用程序中图标资源,并把名柄赋m_hIcon

第二个问题:
出错的原因可能是在CaaaApp类(由编译程序自动添加的一个从 CWinApp 派生的类)创建实例以前创建的ADlg类的对象。也就是说在CaaaApp theApp;前定义了CAaaDlg ADlg;
因为AfxGetApp()要获得当前应用程序类(CaaaApp)指针,而theApp对象没有实例化(也就是说调用theApp对象的构造函数),指针也就无效,所以出错。