WINDOWS 画图程序里 左边的那个竖着很多按钮的框怎么实现的 本帖最后由 nabasasun 于 2012-12-28 20:29:50 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的m_wndPaintToolBar 怎么定义的呢?在类的.h里不是应该有一个CToolBar m_wndPaintToolBar什么的么? 给你个示例,实现在界面下方添加2个工具栏(类似于画图中的下方的框):int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; //去掉窗体关闭按钮 ModifyStyle(0, WS_NONAVDONEBUTTON, SWP_NOSIZE); m_wndCommandBar.m_bShowSharedNewButton = TRUE; m_ToolTipsTable[0] = MakeString(IDS_NEW); m_ToolTipsTable[1] = MakeString(IDS_FILE); m_ToolTipsTable[2] = MakeString(IDS_MHELP); m_ToolTipsTable[3] = MakeString(IDS_CUT); m_ToolTipsTable[4] = MakeString(IDS_COPY); m_ToolTipsTable[5] = MakeString(IDS_PASTE); m_ToolTipsTable[6] = MakeString(IDS_ABOUT); if(!m_wndCommandBar.Create(this) || !m_wndCommandBar.InsertMenuBar(IDR_MAINFRAME)) { TRACE0("Failed to create CommandBar\n"); return -1; // fail to create } m_wndCommandBar.SetBarStyle(m_wndCommandBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED); //创建图形种类工具栏 if (!m_drawBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_TOP) || !m_drawBar.LoadToolBar(IDR_DRAWBAR)) { TRACE0("Failed to create toolbar\n"); return -1; } //设置图形种类按钮为选择状态 for(int i=0;i<6;i++) { m_drawBar.SetButtonStyle(i,TBBS_CHECKGROUP); } //设置背景颜色工具栏 if (!m_backColorBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM) || !m_backColorBar.LoadToolBar(IDR_BACKCOLORBAR)) { TRACE0("Failed to create toolbar\n"); return -1; } //设置背景颜色按钮为选择状态 for( i=0;i<8;i++) { m_backColorBar.SetButtonStyle(i,TBBS_CHECKGROUP); } //创建画笔颜色工具栏 if (!m_frontColorBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM) || !m_frontColorBar.LoadToolBar(IDR_FRONTCOLORBAR)) { TRACE0("Failed to create toolbar\n"); return -1; } //设置画笔颜色按钮为选择状态 for( i=0;i<8;i++) { m_frontColorBar.SetButtonStyle(i,TBBS_CHECKGROUP); } return 0;} 你的wndPaintToolBar是什么类型的 在MainFrm.h中添加Toolbar变量:public: CMFCToolBar m_toolbar1;--------------------这样做是绝对不行的,因为会提示我m_toolbar1;前面要有个分号,我去。 重要的是程序根本没发现我这个m_wndPaintToolBar,只要解决了这个一切都好办 DirectXD3D显示视频问题 CreateDialog,找不到映像文件中指定的资源类型,什么原因啊 请问如何读取Fat32长文件名 为什么Visual Studio 2003打开项目后,CPU就100%了? 2003里的IE增强的安全配置弹出的提示窗口里的"当网站的内容被堵塞时继续提示"选项如果编程修改? WinInet的问题,请高手指点,感激不尽 太奇怪了没有协议资料 This code can not exit the windows NT 托盘程序菜单响应问题 跪求在Ardence RTX 实时系统下数据类型转换的方法? vs2008设置出了问题 vc 中如何得到实时的下载速度?
CToolBar m_wndPaintToolBar什么的么?
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1; //去掉窗体关闭按钮
ModifyStyle(0, WS_NONAVDONEBUTTON, SWP_NOSIZE); m_wndCommandBar.m_bShowSharedNewButton = TRUE;
m_ToolTipsTable[0] = MakeString(IDS_NEW);
m_ToolTipsTable[1] = MakeString(IDS_FILE);
m_ToolTipsTable[2] = MakeString(IDS_MHELP);
m_ToolTipsTable[3] = MakeString(IDS_CUT);
m_ToolTipsTable[4] = MakeString(IDS_COPY);
m_ToolTipsTable[5] = MakeString(IDS_PASTE);
m_ToolTipsTable[6] = MakeString(IDS_ABOUT);
if(!m_wndCommandBar.Create(this) ||
!m_wndCommandBar.InsertMenuBar(IDR_MAINFRAME))
{
TRACE0("Failed to create CommandBar\n");
return -1; // fail to create
}
m_wndCommandBar.SetBarStyle(m_wndCommandBar.GetBarStyle() |
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_FIXED);
//创建图形种类工具栏
if (!m_drawBar.Create(this,
WS_CHILD | WS_VISIBLE | CBRS_TOP) ||
!m_drawBar.LoadToolBar(IDR_DRAWBAR))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
//设置图形种类按钮为选择状态
for(int i=0;i<6;i++)
{
m_drawBar.SetButtonStyle(i,TBBS_CHECKGROUP);
} //设置背景颜色工具栏
if (!m_backColorBar.Create(this,
WS_CHILD | WS_VISIBLE | CBRS_BOTTOM) ||
!m_backColorBar.LoadToolBar(IDR_BACKCOLORBAR))
{
TRACE0("Failed to create toolbar\n");
return -1;
} //设置背景颜色按钮为选择状态
for( i=0;i<8;i++)
{
m_backColorBar.SetButtonStyle(i,TBBS_CHECKGROUP);
}
//创建画笔颜色工具栏
if (!m_frontColorBar.Create(this,
WS_CHILD | WS_VISIBLE | CBRS_BOTTOM) ||
!m_frontColorBar.LoadToolBar(IDR_FRONTCOLORBAR))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
//设置画笔颜色按钮为选择状态
for( i=0;i<8;i++)
{
m_frontColorBar.SetButtonStyle(i,TBBS_CHECKGROUP);
}
return 0;
}
public:
CMFCToolBar m_toolbar1;
--------------------
这样做是绝对不行的,因为会提示我m_toolbar1;前面要有个分号,我去。