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

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

 2006-07-22 22:03:37 来源:WEB开发网   
核心提示: nResourceID 工具条资源得ID,如果使用默认值0作为参数,MFC程序员的WTL指南(4)工具条与状态条(3),程序将使用DECLARE_FRAME_WND_CLASS宏指定得资源,这里使用的IDR_MAINFRAME是向导生成的代码,这使得状态条的右下角会显示一个改变窗口大小的标
nResourceID 工具条资源得ID。如果使用默认值0作为参数,程序将使用DECLARE_FRAME_WND_CLASS宏指定得资源,这里使用的IDR_MAINFRAME是向导生成的代码。 dwStyle 工具条的类型或样式。默认值ATL_SIMPLE_TOOLBAR_STYLE被定义为TBSTYLE_TOOLTIPS,子窗口和可见三种风格的结合,这使得鼠标移到按钮上时工具条会弹出工具提示。 nID 工具条的窗口ID,通常都会使用默认值。

CreateSimpleToolBar()首先检查是否已经创建了一个工具条,然后调用CreateSimpleToolBarCtrl()函数创建工具条控制,CreateSimpleToolBarCtrl()返回的工具条控制句柄保存在m_hWndToolBar中。CreateSimpleToolBarCtrl()负责读出资源并创建相应的工具条按钮,然后返回工具条窗口的句柄。这部分的代码相当长,我不在这里做具体介绍,如果你对此感兴趣得话何以在atlframe.h中找到这些代码。

OnCreate()函数接下来会调用CFrameWindowImpl::CreateSimpleStatusBar()函数,此函数创建状态条并将句柄存在m_hWndStatusBar,下面是该函数的代码:

BOOL CFrameWindowImpl::CreateSimpleStatusBar(
  UINT nTextID = ATL_IDS_IDLEMESSAGE,
  DWORD dwStyle = ... SBARS_SIZEGRIP,
  UINT nID = ATL_IDW_STATUS_BAR)
{
  TCHAR szText[128];  // max text lentgth is 127 for status bars
  szText[0] = 0;
  ::LoadString(_Module.GetResourceInstance(), nTextID, szText, 128);
  return CreateSimpleStatusBar(szText, dwStyle, nID);
}

显示在状态条的文字是从字符串资源中装载的,这个函数的参数是:

nTextID 用于在状态条上显示的字符串的资源ID,向导生成的ATL_IDS_IDLEMESSAGE对应的字符串是“Ready”。 dwStyle 状态条的样式。默认值包含了SBARS_SIZEGRIP风格,这使得状态条的右下角会显示一个改变窗口大小的标志。 nID 状态条的窗口ID,通常都会使用默认值。

CreateSimpleStatusBar()调用另外一个重载函数创建状态条:

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

Tags:MFC 程序员 WTL

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