WEB开发网
开发学院软件开发VC 深入浅出MFC“文档/视图”架构(5)――框架 阅读

深入浅出MFC“文档/视图”架构(5)――框架

 2009-02-11 20:00:28 来源:WEB开发网   
核心提示: LoadFrame函数用于从资源文件中创建窗口,我们通常只需要给其指定一个参数,深入浅出MFC“文档/视图”架构(5)――框架(3),LoadFrame使用该参数从资源中获取主边框窗口的标题、图标、菜单、加速键等,其源代码为:BOOL CFrameWnd::LoadFrame(UINT n

LoadFrame函数用于从资源文件中创建窗口,我们通常只需要给其指定一个参数,LoadFrame使用该参数从资源中获取主边框窗口的标题、图标、菜单、加速键等,其源代码为:

BOOL CFrameWnd::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd
*pParentWnd, CCreateContext *pContext)
{
 // only do this once
 ASSERT_VALID_IDR(nIDResource);
 ASSERT(m_nIDHelp == 0 || m_nIDHelp == nIDResource);
 m_nIDHelp = nIDResource; // ID for help context (+HID_BASE_RESOURCE)
 CString strFullString;
 if (strFullString.LoadString(nIDResource))
  AfxExtractSubString(m_strTitle, strFullString, 0);
  // first sub-string
 VERIFY(AfxDeferRegisterClass(AFX_WNDFRAMEORVIEW_REG));
 // attempt to create the window
 LPCTSTR lpszClass = GetIconWndClass(dwDefaultStyle, nIDResource);
 LPCTSTR lpszTitle = m_strTitle;
 if (!Create(lpszClass, lpszTitle, dwDefaultStyle, rectDefault, pParentWnd,
MAKEINTRESOURCE(nIDResource), 0L, pContext))
 {
  return FALSE; // will self destruct on failure normally
 }
 // save the default menu handle
 ASSERT(m_hWnd != NULL);
 m_hMenuDefault = ::GetMenu(m_hWnd);
 // load accelerator resource
 LoadAccelTable(MAKEINTRESOURCE(nIDResource));
 if (pContext == NULL)
  // send initial update
  SendMessageToDescendants(WM_INITIALUPDATE, 0, 0, TRUE, TRUE);
 return TRUE;
}

上一页  1 2 3 4 5 6  下一页

Tags:深入浅出 MFC 文档

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接