RAD C++ 集成开发环境






4.34/5 (23投票s)
C++ 开发人员的 RAD 工具,代码生成器
项目示例包含在 ZIP 包的 'projects' 文件夹中

引言
RAD Studio (又名 RAD C++ IDE) 是一个专门为加快开发流程而设计的工具,无需运行笨重的集成开发环境。RAD Studio 专注于高度提高易用性,它在 IDE 中提供了现场 GUI 设计器以及事件处理程序连接。它还减轻了为一系列控件编写事件处理程序的负担,从普通按钮到非常复杂的 Grid 控件。该项目最初是为 gcc-mingw 编译器设计的。它完全基于 RAD C++ GUI 库,该库也已移植到 Microsoft Visual C++。
背景
RAD Studio 的基本理念是为 C++ 开发人员提供高度提高的易用性。RAD Studio 生成的代码可以与 DEV C++ 编译,没有任何问题,如果 v1.2.4 radc++.h 和 libradc++.a 存在于 dev c++ 安装文件夹中。
使用代码
如果您从阅读源代码开始,您可能会迷失方向,因为它严重依赖于 RAD C++ GUI 库本身。检查一个应用程序要容易得多。如果有人有兴趣审查代码,请随时提出任何问题。
RADStudio 的核心当然是 RAD C++ GUI 库,但文件 denv.h、dform.h 和 dcontrol.h 是创建您自己的对话框设计器的非常好例子,您也可以在您的商业应用程序中使用。
RADStudio 生成的代码是纯 C 风格的代码,中等水平的 C 开发者很容易理解,因为 RAD C++ 库本身专注于易用性。这是一个在 RADStudio 中设计的对话框/表单的小例子,然后代码导出为自定义框架

//Header file for Form1 - Form1.h FormProcedure CForm1_Procedure(FormProcArgs); class CForm1 : public Form { public: Button Button20; TextBox TextBox21; //constructor CForm1(); //Form events void onClose(CForm1 &me); void onFocus(CForm1 &me); void onLeftClick(CForm1 &me, int mouseX, int mouseY); void onLoad(CForm1 &me); void onMouseMove(CForm1 &me, int mouseX, int mouseY); void onRefresh(CForm1 &me); void onResize(CForm1 &me, int newWidth, int newHeight); void onRightClick(CForm1 &me, int mouseX, int mouseY); //Controls' events void Button20_onClick(CForm1 &parent,Button &me); void TextBox21_onChange(CForm1 &parent, TextBox &me, String newText); };
//And corresponding cpp file for Form1 - Form1.cpp CForm1::CForm1() : Form("Form 1", 95, 127, 400, 210, RCP_SIMPLE, True, True, False, False, True, _window(HWND_DESKTOP),False,0) { Button20.create("Button 20", AUTO_ID, 238, 98, 100, 25, *this,True,True,False,False); TextBox21.create("TextBox 21", AUTO_ID, 28, 98, 200, 25, *this,True,True,False,False,WS_EX_CLIENTEDGE); this->procedure=CForm1_Procedure; SetWindowLong(hwnd,GWL_USERDATA,(LONG)this); this->onLoad(*this); } FormProcedure CForm1_Procedure(FormProcArgs) { CForm1 *FRM = reinterpret_cast(GetWindowLong(hwnd,GWL_USERDATA)); ON_COMMAND_BY(FRM->Button20) FRM->Button20_onClick(*FRM,FRM->Button20); ON_TEXT_CHANGED(FRM->TextBox21) FRM->TextBox21_onChange(*FRM, FRM->TextBox21,FRM->TextBox21.getText()); ON_CLOSE() FRM->onClose(*FRM); ON_FOCUS() FRM->onFocus(*FRM); ON_LEFT_CLICK() FRM->onLeftClick(*FRM,_xmouse,_ymouse); ON_MOUSEMOVE() FRM->onMouseMove(*FRM,_xmouse,_ymouse); ON_PAINT() FRM->onRefresh(*FRM); ON_RESIZE() FRM->onResize(*FRM,FRM->getWidth(),FRM->getHeight()); ON_RIGHT_CLICK() FRM->onRightClick(*FRM,_xmouse,_ymouse); return 0; } /* implementation of event handlers and developer's code */ void CForm1::Button20_onClick(CForm1 &parent,Button &me){ /* Code when button is clicked. */ } void CForm1::TextBox21_onChange(CForm1 &parent, TextBox &me, String newText){ /* Code when text is changed. */ } /* implementation of event handlers and developer's code */ void CForm1::onClose(CForm1 &me) { /* [X] Code when form is closed . */ Application.close(); //remove this line if it is not main form of application } void CForm1::onFocus(CForm1 &me) { /* When form receives focus */ } void CForm1::onLeftClick(CForm1 &me, int mouseX, int mouseY) { /* When left mouse button is clicked */ } void CForm1::onLoad(CForm1 &me) { /* Code when for is very first time loaded. */ } void CForm1::onMouseMove(CForm1 &me, int mouseX, int mouseY) { /* When mouse cursor moves over surface of form */ } void CForm1::onRefresh(CForm1 &me) { /* When surface of form is redrawn */ } void CForm1::onResize(CForm1 &me, int newWidth, int newHeight) { /* Code when form is resized. */ } void CForm1::onRightClick(CForm1 &me, int mouseX, int mouseY) { /* When right mouse button is clicked */ }
//Main program file #define PROJECT_NAME "RAD C++ Studio Project" #includeenum __BOOL { False=0, True=1 };//IDE specific /* Globals go here which are accessible throughout application code */ #include "Form1.h" CForm1 Form1; #include "Form1.cpp" rad_main() rad_end() </radc++.h>
编译 RAD Studio 生成的代码
RAD Studio 尚未与任何编译器集成,但它生成的代码确实可以编译。请首先从 www.bloodshed.net 获取 DEV C++ 的副本并安装它。然后从 radcpp.com 的主页获取 RAD C++ GUI 库 1.2.4 DevPak 并安装它。
一旦两者都安装完毕,启动 RAD C++ 并打开您保存的 GUI 项目。使用菜单 导出 | 框架类
导出您的项目,选择一个文件夹以将项目文件和代码文件写入其中,然后点击 确定
。现在打开 RADCPP_Project.dev,编译并运行,享受简单性。
看点
RAD Studio 正在不断开发和增强。它正在与更多 c++ 编译器兼容,但目前它生成的代码正是它所构建的(即 rad c++ gui 库)。它背后的库也正在不时更新,并计划移植到 X11-Linux 环境以及 Mac OSX。我们希望最终为 C++ 开发人员提供一个免费、功能齐全的 IDE,以便快速开发 GUI 应用程序并跨平台使用。
重要
RAD Studio 仍处于开发过程中。为什么?因为我一直专注于完成 RAD C++ GUI 库。需要一些额外的努力才能使其成为一个功能齐全的 IDE。总的来说,它似乎是稳定的,但如果它崩溃了,请通过向这篇文章发布消息来通知我,以便我可以修复它。