创建菜单栏

本文详细介绍使用MFC实现状态栏的过程,包括定义状态栏类、创建状态栏、添加及设置面板等步骤,并展示了如何通过代码实现具体的功能,如设置面板文本、调整布局等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值