BCG工程改造与手动添加控件教程:对话框与编辑框实现

1星 需积分: 10 6 下载量 120 浏览量 更新于2024-09-08 收藏 64KB DOC 举报
本文主要介绍了如何将现有的对话框程序转换为BCG (Borland CodeGear Component Library) 工程,并在其中手动添加控件,以实现更现代的界面风格。以下是关键步骤: 1. **引入BCG库**: 在`StdAfx.h`文件中,通过`#include <BCGCBProInc.h>`引入BCG库的头文件,确保项目能够利用BCG提供的控件和功能。 2. **修改对话框类**: 将对话框子类的基类从`CDialog`改为`CBCGPDialog`。可以通过在`.h`文件中添加`#define CDialog CBCGPDialog`或在派生类定义中直接指定来完成此操作。这样,对话框将继承BCG的特性。 3. **App类扩展**: 为了支持BCG的多文档功能,需要将`CWinApp`的基类扩展为`CBCGPWorkspace`,例如:`class CYourAppName : public CWinApp, public CBCGPWorkspace`。 4. **设置界面风格**: 在对话框的构造函数中,使用`CBCGPVisualManager::SetDefaultManager`和`EnableVisualManagerStyle`方法,使对话框外观类似Visual Manager 2007,提升UI的整体设计感。 5. **清理内存与初始化**: 在`.cpp`文件的`InitInstance`函数结束时,添加`BCGCBProCleanUp()`调用,以确保BCG组件资源的正确释放。 6. **配置编译环境**: 设置项目的包含目录和库目录,以便编译器能找到BCG所需的头文件和库文件。 7. **手动添加控件**: - 在对话框类中,声明一个CEdit对象成员变量`CEdit m_edit`,用于嵌入编辑框控件。 - 在`OnInitDialog()`函数中,使用`Create()`函数创建编辑框,指定其属性(如可见、可接收焦点等),并设置焦点。 - 在`resource.h`中,添加资源标识符`#define ID_EXTRA_EDIT 1001`,供编译器识别。 8. **多文档App初始化**: `SetRegistryKey`和`SetRegistryBase`用于在多文档应用程序中管理注册表存储。`SetRegistryKey`用来指定应用程序在注册表中的键路径,而`SetRegistryBase`则设置基础注册表路径,这有助于应用程序之间数据的隔离。 通过以上步骤,您可以将您的对话框程序升级到BCG框架,并实现自定义控件的添加,同时保持程序的高效管理和美观性。务必确保在开发过程中正确处理内存管理、依赖配置以及资源的组织,以确保项目的顺利运行。