WEB开发网
开发学院软件开发VC MFC程序员的WTL指南(4)工具条与状态条 阅读

MFC程序员的WTL指南(4)工具条与状态条

 2006-07-22 22:03:37 来源:WEB开发网   
核心提示: 在第二页,取消Rebar使向导仅仅创建一个普通的工具条:从第二部分的程序中复制相应的代码,MFC程序员的WTL指南(4)工具条与状态条(2),新程序看起来是这样的:CMainFraCMainFrame 如何创建工具条和状态条在这个例子中,向导向CMainFrame::OnCreate()函

在第二页,取消Rebar使向导仅仅创建一个普通的工具条:

从第二部分的程序中复制相应的代码,新程序看起来是这样的:

CMainFraCMainFrame 如何创建工具条和状态条

在这个例子中,向导向CMainFrame::OnCreate()函数添加了更多的代码,这些代码的作用就是创建控制条并通知CUpdateUI更新工具条上的按钮。

LRESULT CMainFrame::OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/,
               LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
  CreateSimpleToolBar();
  CreateSimpleStatusBar();
  m_hWndClient = m_view.Create(...);
// ...
  // register object for message filtering and idle updates
  CMessageLoop* pLoop = _Module.GetMessageLoop();
  ATLASSERT(pLoop != NULL);
  pLoop->AddMessageFilter(this);
  pLoop->AddIdleHandler(this);
  return 0;
}

这是新添加的代码的开始部分,CFrameWindowImpl::CreateSimpleToolBar()函数使用资源IDR_MAINFRAME创建工具条并将其句柄赋值给m_hWndToolBar,下面是CreateSimpleToolBar()函数的代码:

BOOL CFrameWindowImpl::CreateSimpleToolBar(
  UINT nResourceID = 0,
  DWORD dwStyle = ATL_SIMPLE_TOOLBAR_STYLE,
  UINT nID = ATL_IDW_TOOLBAR)
{
  ATLASSERT(!::IsWindow(m_hWndToolBar));
  if(nResourceID == 0)
    nResourceID = T::GetWndClassInfo().m_uCommonResourceID;
  m_hWndToolBar = T::CreateSimpleToolBarCtrl(m_hWnd, nResourceID, TRUE,
                        dwStyle, nID);
  return (m_hWndToolBar != NULL);
}

参数:

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

Tags:MFC 程序员 WTL

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