关于工具条的问题 我想实现 VS2005效果的工具条管理.能够任意拖动,停靠,请问是不是有什么类呀.那些工具条是放在Rebar中吗.能说说设计思路吗. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY); EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); 在VS2008带feature Pack的MFC应该有现成的 是用Rebar。可以在框架中定义一个CReBar对象,窗口创建后调用Create函数,然后再创建工具栏,再AddBar。 BOOL CMainFrame::CreateExToolBar(){ CImageList img; CString str; if(!m_wndReBar.Create(this)) { return -1; } if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)) { return -1; } //下面的代码是设置按钮的宽度和长度 m_wndToolBar.GetToolBarCtrl().SetButtonWidth(60, 60); //下面的代码是设置"热"的位图 img.Create(50, 50, ILC_COLOR24|ILC_MASK,2,2); img.SetBkColor(::GetSysColor(COLOR_BTNFACE)); // 连接站点 CBitmap bm1; bm1.LoadBitmap(IDB_BARLINKON_2); img.Add(&bm1, RGB(0, 0, 0)); ....................... m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img); img.Detach(); //下面的代码是设置"冷"的位图 img.Create(50, 50, ILC_COLOR24|ILC_MASK, 2, 2); img.SetBkColor(::GetSysColor(COLOR_BTNFACE)); // 连接站点 CBitmap bm13; bm13.LoadBitmap(IDB_BARLINKON); img.Add(&bm13, RGB(0, 0, 0)); ....................... m_wndToolBar.GetToolBarCtrl().SetImageList(&img); img.Detach(); //改变属性 m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | TBSTYLE_TRANSPARENT); m_wndToolBar.SetButtons(NULL, 12); // set up each toolbar button设置文字 m_wndToolBar.SetButtonInfo(0, ID_PATH_CONNECT, TBSTYLE_BUTTON, 0); m_wndToolBar.SetButtonText(0, "连接站点"); ....................... CRect rectToolBar; //得到按钮的大小 m_wndToolBar.GetItemRect(0, &rectToolBar); //设置按钮的大小 m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(50,44)); //在Rebar中加入ToolBar m_wndReBar.AddBar(&m_wndToolBar); //改变一些属性 REBARBANDINFO rbbi; rbbi.cbSize = sizeof(rbbi); //这个是必须填 rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE | RBBIM_BACKGROUND; //工具条的宽度 rbbi.cxMinChild = rectToolBar.Width(); //高度 rbbi.cyMinChild = rectToolBar.Height(); //下面这行代码是为工具条加入背景位图,请注意上rbbi.fMask中RBBIM_BACKGROUND标志 rbbi.hbmBack = LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BG_G)); rbbi.cx = rbbi.cxIdeal = rectToolBar.Width() * 12; m_wndReBar.GetReBarCtrl().SetBandInfo(0, &rbbi); return TRUE;} 没有找到mfc42d.dll的解决方法 今天比亚迪给我offer了,该不该签呢? 菜鸟求助!!! 做多标签功能软件的疑问,请教大家 我的动态库编译之后怎么这么大啊 分割屏幕后,文档标题该如何设置?????????? 哪有论坛助手 知道一个运行程序的进程,如何将它的窗口放到最前面,并且最大化? 我需要做一个放在网页里的ActiveX控件,它在下载到用户页面时,首先要读取少量数据,通过控件的属性传到客户端,我熟悉VC,但不熟悉ASP?怎 这到底怎么回事? 请问如何通过文件的绝对PIDL获取其文件的创建时间、修改时间、文件大小等信息? 改变菜单栏高度mfc
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
BOOL CMainFrame::CreateExToolBar()
{
CImageList img;
CString str;
if(!m_wndReBar.Create(this))
{
return -1;
} if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
{
return -1;
} //下面的代码是设置按钮的宽度和长度
m_wndToolBar.GetToolBarCtrl().SetButtonWidth(60, 60); //下面的代码是设置"热"的位图
img.Create(50, 50, ILC_COLOR24|ILC_MASK,2,2);
img.SetBkColor(::GetSysColor(COLOR_BTNFACE)); // 连接站点
CBitmap bm1;
bm1.LoadBitmap(IDB_BARLINKON_2);
img.Add(&bm1, RGB(0, 0, 0)); ....................... m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);
img.Detach();
//下面的代码是设置"冷"的位图
img.Create(50, 50, ILC_COLOR24|ILC_MASK, 2, 2);
img.SetBkColor(::GetSysColor(COLOR_BTNFACE)); // 连接站点
CBitmap bm13;
bm13.LoadBitmap(IDB_BARLINKON);
img.Add(&bm13, RGB(0, 0, 0)); ....................... m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
img.Detach();
//改变属性
m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | TBSTYLE_TRANSPARENT);
m_wndToolBar.SetButtons(NULL, 12); // set up each toolbar button设置文字
m_wndToolBar.SetButtonInfo(0, ID_PATH_CONNECT, TBSTYLE_BUTTON, 0);
m_wndToolBar.SetButtonText(0, "连接站点");
....................... CRect rectToolBar;
//得到按钮的大小
m_wndToolBar.GetItemRect(0, &rectToolBar);
//设置按钮的大小
m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(50,44));
//在Rebar中加入ToolBar
m_wndReBar.AddBar(&m_wndToolBar);
//改变一些属性
REBARBANDINFO rbbi;
rbbi.cbSize = sizeof(rbbi); //这个是必须填
rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE | RBBIM_BACKGROUND;
//工具条的宽度
rbbi.cxMinChild = rectToolBar.Width();
//高度
rbbi.cyMinChild = rectToolBar.Height();
//下面这行代码是为工具条加入背景位图,请注意上rbbi.fMask中RBBIM_BACKGROUND标志
rbbi.hbmBack = LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BG_G));
rbbi.cx = rbbi.cxIdeal = rectToolBar.Width() * 12;
m_wndReBar.GetReBarCtrl().SetBandInfo(0, &rbbi); return TRUE;
}