CBCGPDockingControlBar 中如何使用视图
现在问题是对CBCGPDockingControlBar的使用不熟悉。在网上查了一下,资料特别少。只查到下面这一篇文章。
http://topic.csdn.net/t/20050223/23/3801875.html
里面说:
添加视图之后在获得/失去焦点和视图激活,以及键盘解析、菜单命令处理等等时候都有问题,不是几行代码可以解决的。
BCGControlBar的原始代码来自于CSizingControlBar;其作者的建议是不使用视图,参见
我按照提供的方式,做了尝试。视图是出来了,但是位置,大小都不对。而且还不能相应。
//ScriptViewBar.h
class CScriptViewBar : public CBCGPDockingControlBar
{
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
CScriptView* m_pScriptView;
}
//ScriptViewBar.cpp
int CScriptViewBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CBCGPDockingControlBar::OnCreate(lpCreateStruct) == -1)
return -1;
// Create view:
if (m_pScriptView )
{
m_pScriptView->CreateView(this, m_pContext);
}
return 0;
}
//ScriptView.h
class AFX_EXT_CLASS CScriptView : public CRichEditView
{
protected:
BOOL CreateView(CWnd* pParent, CCreateContext* pContext);
}
//ScriptView.cpp
BOOL CScriptView::CreateView(CWnd* pParent, CCreateContext* pContext)
{
DWORD dwStyle = AFX_WS_DEFAULT_VIEW;
dwStyle &= ~WS_BORDER;
dwStyle &=WS_CLIPSIBLINGS ;
// Create with the right size
CRect rect;
pParent->GetClientRect(rect);
if (!Create(NULL, NULL, dwStyle,rect, pParent, AFX_IDW_PANE_FIRST, pContext))
{
TRACE0("Warning: couldn't create treeview pane!. \n");
return FALSE;
}
return TRUE;
}
有没有高人做过类似的东西,提供一个思路或者解决方法。如果有Demo就最好了,我的邮箱huayehanshan@sina.com.cn。
我这贴只能提供100分,如果能解决问题,我再开个帖子,另外百分答谢。
顶者有分!!期待高人!!!!
相关推荐
MFC中的CBCGPDockingControlBar单文档停靠栏菜单国际化编程
在国际化开发中,我们需要将应用程序的界面翻译成不同的语言,以满足不同地区用户的需求。通过创建翻译文件、加载翻译文件并应用翻译文本到菜单项,我们可以实现菜单的多语言支持,以满足不同国家和地区用户的需求。通过创建翻译文件、加载翻译文件并应用翻译文本到菜单项,我们可以实现单文档停靠栏菜单的国际化。这段代码将打开翻译文件,逐行读取其中的内容,并将菜单项的ID和对应的翻译文本存储在g_translationMap中。这段代码将递归遍历菜单及其子菜单,通过查找翻译文本的映射,将翻译文本应用到对应的菜单项中。
BCGControlBar Pro 15.1 实战:MFC 旧界面现代化改造指南
在工业软件与桌面工具的开发中,大量遗留业务系统基于 MFC 构建,其文档视图架构和消息映射机制虽稳定,但界面样式普遍陈旧,用户体验难以满足现代需求,而整体重写为 Qt 或 C# 往往成本极高。此时,通过引入成熟的 MFC 界面扩展库,在原有工程基础上进行渐进式 UI 升级,成为最务实的路径。Ribbon 风格的菜单栏、可停靠面板、视觉风格管理这些特性,能有效提升软件的专业感与交互效率。这种升级改造方式尤其适合那些底层逻辑复杂、需要长期维护的传统桌面应用,可以在不推翻核心业务代码的前提下,逐步实现界面现代化。
BCGControlBar:MFC界面现代化与专业级UI开发实战指南
在Windows桌面应用开发领域,MFC(Microsoft Foundation Classes)因其稳定性和高效性,长期被视为构建原生应用程序的经典框架。然而,其原生的界面风格与现代用户体验标准存在差距,这促使开发者寻求第三方界面库来提升应用的专业感和竞争力。界面库的核心原理在于通过扩展而非取代原有框架,提供一套丰富的控件、主题引擎和布局管理系统,从而在不重写业务逻辑的前提下,实现界面的全面美化与功能增强。这类技术的价值在于显著降低复杂界面的开发成本,统一设计规范,并提升应用程序的整体品质与用户满意度。
基于恒阻抗负荷模型与母线三相短路扰动条件下三机九节点系统多频段电力系统稳定器暂态稳定性能评估(Simulink仿真实现)
内容概要:本文系统阐述了一套基于优先级规划与Petri网融合的多机器人路径规划(MAPF)MATLAB代码库,该框架将求解过程划分为几何解析、拓扑构建、调度优化与可视化呈现四个层次,实现了从地图解析、四邻域拓扑与Petri网建模,到基于优先级启发式的路径搜索、时间同步与冲突消解,再到动画与视频输出的完整闭环。其核心创新在于采用Petri网将“多机器人无冲突”这一动态时间约束转化为“每库所至多一标记”的静态容量约束,从而支持整数规划求解;并通过动态边权膨胀机制避免因硬封锁导致的虚假不可解问题,结合节点预留历史与几何惩罚驱动的局部同步策略,显著提升了冲突查询效率与调度性能。框架还支持双坐标系统与全流程可视化,便于算法行为分析与结果验证。; 适合人群:具备一定编程基础和机器人路径规划基础知识的研究生、科研人员及工程技术人员,尤其适合从事仓储物流、自动驾驶、无人机编队等多智能体系统研究的专业人士。; 使用场景及目标:① 在大规模多机器人系统中快速生成无冲突路径,适用于自动化仓库调度等工业场景;② 作为教学与研究工具,深入理解MAPF中的优先级规划、Petri网建模、冲突消解机制及其数学本质;③ 支持算法复现与扩展,可用于对比不同启发式策略、同步算法与规划框架的性能差异。; 阅读建议:建议读者按照文中组织结构顺序阅读,重点关注各模块之间的接口设计与信息传递机制,结合提供的代码实例进行调试与运行,深入理解动态边权膨胀、Petri网容量约束转化、节点预留历史与几何惩罚驱动同步等关键技术的设计意图与实现细节。
机械三维3D设计图-打铁扣自动机.zip
机械三维3D设计图-打铁扣自动机.zip


