CXTPReBar和 CXTButton 的问题

zlj_job 2008-04-24 11:16:23
我有一个程序,在 CMainFrame 的 OnCreate 中建立了两个工具栏 和一个按钮,并且用了office2003的风格。但是用 了CXTPReBar后
菜单栏和工具栏的的边框变灰,在office2003的风格上变了。但是在没有加CXTPReBar之前就是office2003的风格。还有CXTButton上面没有把bitmap显示出来 这是问什么,有什么办法可以解决呢?以下是 Oncreate 里面的代码:
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;

//CXTPPaintManager::SetTheme(xtpThemeOffice2003);
// m_CloseButton.GetWnd(this);
if (!InitCommandBars())
return -1;

CXTPCommandBars* pCommandBars = GetCommandBars();

CXTPMenuBar* pMenuBar=pCommandBars->SetMenu(_T("Menu Bar"), IDR_MENU_MAIN);


CXTPToolBar* pStandardBar = (CXTPToolBar*)pCommandBars->Add(_T("1"), xtpBarTop);
if (!pStandardBar ||
!pStandardBar->LoadToolBar(IDR_TOOLBAR_NAVI_ROUTE))
{
TRACE0("Failed to create toolbar\n");
}

CXTPToolBar* pExpandBar = (CXTPToolBar*)pCommandBars->Add(_T("2"), xtpBarTop);
if (!pExpandBar ||
!pExpandBar->LoadToolBar(IDR_TOOLBAR_TASK_MANAGE))
{
TRACE0("Failed to create toolbar\n");
}

DockRightOf(pStandardBar,pExpandBar);

UINT toolBars[]={
ID_NEW_TASK,
ID_OPEN_TASK,
ID_SAVE_TASK,
ID_SAVE_AS_TASK,
ID_SEARCH_POI_DATA,
ID_SEARCH_NEAR_BY,
ID_POINT_MANAGE,
ID_PERSON_LIST,
ID_DATA_TYPE_SELECT,
ID_PERSON_MANAGE,
ID_SEND_OBJECT_SELECT,
ID_SEND_TASK
};
pExpandBar->GetImageManager()->SetIcons(IDB_BITMAP_TOOLBAR,
toolBars,12,CSize(16,15));
pExpandBar->GetImageManager()->SetIcons(IDB_BITMAP_TOOLBAR_GRAY,
toolBars,12,CSize(16,15),xtpImageDisabled);
UINT mapBars[]={
ID_NEW_TASK,
ID_OPEN_TASK,
ID_SAVE_TASK,
ID_SAVE_AS_TASK,
ID_SEARCH_POI_DATA,
ID_SEARCH_NEAR_BY,
ID_POINT_MANAGE,
ID_PERSON_LIST,
ID_DATA_TYPE_SELECT,
ID_PERSON_MANAGE,
ID_SEND_OBJECT_SELECT,
ID_SEND_TASK,
ID_SET_START_POINT,
ID_SET_END_POINT,
ID_DELETE_POINT,
ID_REMOVE_ALL_POINT,
ID_MAP_EDIT_POINT,
ID_MAP_COMPUTE_ROUTE,
ID_MAP_ZOOM_IN,
ID_MAP_ZOOM_OUT,
ID_MAP_MOVE_MAP,
ID_MAP_ROUTE_RULE
};
pStandardBar->GetImageManager()->SetIcons(IDB_BITMAP_TOOLBAR,
mapBars,22,CSize(16,15));
pStandardBar->GetImageManager()->SetIcons(IDB_BITMAP_TOOLBAR_GRAY,
mapBars,21,CSize(16,15),xtpImageDisabled);

RECT rect;
rect.bottom=10;
rect.left=10;
rect.right=10;
rect.top=10;
//////////////////////////////////////////////////////////////////////////
int cx = GetSystemMetrics(SM_CXSMICON);
int cy = GetSystemMetrics(SM_CYSMICON);
CRect rtTitle,rtButtons;

m_CloseButton.SetTheme( new CXTButtonThemeOffice2003(TRUE));
m_CloseButton.Create("",WS_VISIBLE | WS_CHILD | BS_AUTO3STATE|BS_PUSHBUTTON|BS_OWNERDRAW,
CRect(0, 0, cx,cy),this,ID_BUTTON_CLOSE_FILE);
m_CloseButton.SetButtonStyle(BS_XT_HILITEPRESSED);
m_CloseButton.SetXButtonStyle(BS_XT_XPFLAT | BS_XT_SHOWFOCUS);
CBitmap bitmap;
VERIFY(bitmap.LoadBitmap(IDB_BITMAP2));
HBITMAP hBitmap = (HBITMAP) bitmap.GetSafeHandle();
m_CloseButton.SetBitmap(CSize(16,16),IDB_BITMAP2,TRUE);

if (!m_wndReBar.Create(this) ||
!m_wndReBar.AddToolBar(pMenuBar) ||
!m_wndReBar.AddToolBar(pStandardBar, RBBS_GRIPPERALWAYS | RBBS_BREAK)||
!m_wndReBar.AddToolBar(pExpandBar, RBBS_GRIPPERALWAYS )
||!m_wndReBar.AddBar(&m_CloseButton, 0, 0, RBBS_NOGRIPPER | RBBS_FIXEDBMP | RBBS_FIXEDSIZE)
)
{
TRACE0("Failed to create rebar\n");
return -1; // fail to create
}

CXTPPaintManager::SetTheme(xtpThemeOffice2003);

LoadCommandBars(_T("CommandBars"));
...全文
657 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hansonzhan 2011-05-24
  • 打赏
  • 举报
回复
不会,求解,帮顶!!!!!
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
不会,帮顶
zlj_job 2008-04-25
  • 打赏
  • 举报
回复
我自己在顶一下
zlj_job 2008-04-24
  • 打赏
  • 举报
回复
有没有人会?
内容概要:本文围绕基于蜣螂优化算法(DBO)的无线传感器网络(WSN)覆盖优化问题展开研究,提出了一种创新性的智能优化解决方案,并提供了完整的Matlab代码实现。研究首先分析了传统WSN覆盖优化中存在的覆盖率低、能耗不均等问题,随后引入蜣螂优化算法这一新型群体智能算法,通过模拟蜣螂的生物行为机制,构建了适用于传感器节点部署优化的数学模型。文中详细阐述了算法的设计思路、实现步骤及其在提高网络覆盖率、延长网络生命周期方面的有效性,同时通过仿真实验与其他主流优化算法进行了对比,验证了所提方法的优越性。; 适合人群:具备一定优化算法基础和Matlab编程能力,从事通信工程、物联网、智能优化等相关领域的研究生及科研人员。; 使用场景及目标:①解决无线传感器网络中节点部署不合理导致的覆盖盲区问题;②提升网络整体覆盖性能与资源利用效率;③为智能优化算法在实际工程中的应用提供可复现的研究案例和技术参考。; 阅读建议:建议读者结合文中的Matlab代码进行实践操作,重点关注算法参数设置、适应度函数设计及仿真结果分析部分,同时可尝试将该算法迁移至路径规划、资源调度等其他优化场景中进行拓展研究。
已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 在信息技术领域,特别是软件编程行业,微软公司推出的集成开发环境(IDE)Visual Studio,凭借其卓越的功能和广泛的适用范围,成为了众多程序员的常用工具。不过,在实际操作期间,用户可能会遭遇各种挑战,其中一种较为普遍的挑战是“Visual Studio遭遇了异常情况,这或许与某个附加组件有关”。本文将详细研究这一现象的成因、潜在后果以及最终的应对措施。 ### 原因剖析 Visual Studio通过支持多种插件和附加组件来扩展其功能,这些组件通常由第三方开发者设计,旨在为用户提供更多个性化和专业化的工具。然而,这些插件的质量良莠不齐,部分可能未经过充分的测试或与特定版本的Visual Studio存在兼容性难题,从而在执行时引发异常。异常的出现可能源于以下几个因素: 1. **代码缺陷**:若附加组件中的代码存在逻辑问题或资源管理不当,就可能导致运行时异常。 2. **资源竞争**:多个插件同时占用相同的资源(例如内存、文件句柄等),可能会产生资源冲突,进而触发异常。 3. **依赖不匹配**:插件可能需要特定版本的库或框架,如果系统中安装的版本不一致,也可能导致异常。 4. **安全隐患**:部分插件可能存在安全漏洞,一旦被恶意利用,可能会导致更严重的问题,包括但不限于异常崩溃。 ### 后果分析 当Visual Studio遇到由附加组件引发的异常时,不仅会中断当前的工作进程,降低开发效能,还可能带来以下潜在风险: 1. **数据遗失**:若异常发生在保存操作之前,可能会导致未保存的工作内容遗失。 2. **稳定性减弱**:频繁的异常会导致Visual Stud...

15,977

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧