Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1050123
  • 博文数量: 288
  • 博客积分: 10306
  • 博客等级: 上将
  • 技术积分: 3182
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-12 17:00
文章分类

全部博文(288)

文章存档

2011年(19)

2010年(38)

2009年(135)

2008年(96)

我的朋友

分类: C/C++

2009-08-12 09:35:25

/***********************************************************************/
引子:
    今天做一个登录对话框时发现在XXApp::Initstance()中忽然出现了:
     m_pMainWnd->ShowWindow(SW_SHOW);
     m_pMainWnd->UpdateWindow();
这两句,而这前既没有对m_pMainWnd的new操作,也在XXApp.h中看不到这个m_pMainWnd的声明,于是想一探究竟。
 
/***********************************************************************/
原来:
    m_pMainWnd在CWinApp中声明,而在上面两句的前面还有一句:
     if (!ProcessShellCommand(cmdInfo))return FALSE;
正在是这个函数中通过调用:
    AfxGetApp()->OnCmdMsg(ID_FILE_NEW, 0, NULL, NULL );
进而
    void CWinApp::OnFileNew();
进而在
    CDocument* CSingleDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName,
 BOOL bMakeVisible)中调用了
    pFrame = CreateNewFrame(pDocument, NULL);
而此处的pFrame就是m_pMainWnd;
/***************************** End **************************************/
 
 
 
阅读(1369) | 评论(0) | 转发(0) |
0

上一篇:在Grid上显示CComboBox

下一篇:现代孔乙已

给主人留下些什么吧!~~