打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
自定义工具栏
第一种方法:
1、在资源中添加工具条;
2、加载工具条
if (! m_tool.CreateEx( this,TBSTYLE_FLAT ,  WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS,
CRect(2,2,0,0)) ||    ! m_tool.LoadToolBar(IDR_TOOLBAR_MYBUTTON) )
{
TRACE0("failed to create toolbar\n");
return FALSE;
}
m_tool.ShowWindow(SW_SHOW);
3、
WM_KICKIDLE这个是MFC中对于空闲处理的一个未公开的消息.

该消息似乎只针对模态对话框的.

ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
E:\Projects\split screen\split screen\split screenDlg.cpp(287):LRESULT CsplitscreenDlg::OnKickIdle(WPARAM, LPARAM)
E:\Projects\split screen\split screen\split screenDlg.h(41): afx_msg LRESULT OnKickIdle(WPARAM, LPARAM);

LRESULT CsplitscreenDlg::OnKickIdle(WPARAM, LPARAM)
{
CCmdUI cmdUI;
cmdUI.m_nID = ID_TOOL_BUTTON;
cmdUI.DoUpdate(this, FALSE);
cmdUI.m_nID = ID_BUTTON_CLOSE;
cmdUI.DoUpdate(this, FALSE);
return TRUE;
}
4、响应工具栏按钮事件
ON_BN_CLICKED(ID_TOOL_BUTTON, OnBnClicked)

第二种方法:
1、添加工具栏对象
// 工具栏
CToolBar m_toolbar;
// 图像列表控件   
CImageList m_ImageList;
2、// 设置工具栏信息

// 动态设置工具栏按钮图标
m_ImageList.Create(16,16,ILC_COLOR32|ILC_MASK,1,1);  
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_MANAGE));  
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_UPDATE));  
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_SECURITY));  
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_SET));  
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_QUIT));  

UINT btnarray[5]={0};  
for (int i=0;i<5;i++)  
{  
btnarray[i]=3000+i;  
}  
m_toolbar.Create(this);  
m_toolbar.SetButtons(btnarray,5);  
m_toolbar.SetButtonText(0,_T("管理"));  
m_toolbar.SetButtonInfo(0,ID_MANAGE,TBSTYLE_BUTTON,0);  
m_toolbar.SetButtonText(1,_T("更新"));  
m_toolbar.SetButtonInfo(1,ID_UPDATE_MANAGE,TBSTYLE_BUTTON,1);  
m_toolbar.SetButtonText(2,_T("安全"));  
m_toolbar.SetButtonInfo(2,ID_SECURITY,TBSTYLE_BUTTON,2);  
m_toolbar.SetButtonText(3,_T("设置"));  
m_toolbar.SetButtonInfo(3,ID_SET,TBSTYLE_BUTTON,3);  
m_toolbar.SetButtonText(4,_T("退出"));  
m_toolbar.SetButtonInfo(4,ID_QUIT,TBSTYLE_BUTTON,4);  

// 设置工具条大小信息  
m_toolbar.GetToolBarCtrl().SetButtonWidth(32,32);  
m_toolbar.GetToolBarCtrl().SetImageList(&m_ImageList);  
m_toolbar.SetSizes(CSize(32,32),CSize(16,16));  
RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);  
3、响应事件
ON_BN_CLICKED(ID_MANAGE,&CsplitscreenDlg::OnBnClickedManage)  


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
工具栏自绘设计方案
VC++中添加工具栏和状态栏
VC动态创建工具栏及工具栏上的按钮及为按钮添加消息响应函数
【转】MFC工具栏设计
VC MFC工具栏(CToolBar)控件
Extended ComboBox添加图标
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服