`
kanwoerzi
  • 浏览: 1646493 次
文章分类
社区版块
存档分类
最新评论

创建菜单栏

 
阅读更多

1:定义状态栏类 CStatusBar
2: 调用Creat()创建状态栏
3:调用SetIndicators()添加面板
4: 调用SetPaneInfo()设置面板宽度和样式
5:调用SetPaneText()设置状态栏面板文本
6:调用RepositionBars()显示状态栏

实例:
现在对话框了中定义m_statusbar;
在初始化函数中
BOOL bRet=m_statusbar.Create(this);
UINT nID[3]={1001,1002,1003};
bRet=m_statusbar.SetIndicators(nID,3);
m_statusbar.SetPaneInfo(0,nID[0],SBPS_NORMAL,100);
m_statusbar.SetPaneInfo(1,nID[1],SBPS_NORMAL,200);
m_statusbar.SetPaneInfo(2,nID[2],SBPS_NORMAL,32565);
m_statusbar.SetPaneText(0,"提示");
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);


处理WM_SIZE消息
void CStatusBarDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);

// TODO: Add your message handler code here

}

如果需要与菜单项相连,需要截获WM_MENUSELECT消息
在对话框右键中选择Add Virtual Function列表中选择WindowPro函数,双击
添加到右边列表中
处理相应的函数

LRESULT CStatusBarDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message==WM_MENUSELECT)
{
OnHotMenu(LOWORD(wParam));

}
return CDialog::WindowProc(message, wParam, lParam);
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics