For Learning & Building
给不同阶段的 C++ 学习者一条更短的 GUI 路径
StellarX 的价值不在于堆叠功能,而在于把窗口、控件、事件、布局和重绘 组织成新手能理解、能实践的工程结构。从控制台程序走向图形界面
不必一开始就面对复杂框架和庞大配置,可以先用直观的控件对象完成课程设计、 小工具和可视化界面。
更适合讲清 GUI 基础概念
用窗口、按钮、标签、容器、表格和对话框等传统桌面概念, 帮助学生建立从事件到绘制的完整认知。
从源码理解框架如何工作
StellarX 不是黑盒,你可以继续向下阅读控件树、消息分发、布局解算、 脏区重绘和托管绘制链路。
Showcase
从综合测试界面到小型工具示例
展示 StellarX 在控件组合、布局、表格、对话框与托管重绘场景下的实际表现。Quick Start
五分钟跑起第一个窗口
安装 Visual Studio 与 EasyX 后,可以直接链接 Release 静态库, 也可以按照公开头、实现文件和私有头的目录结构集成源码。#include "StellarX.h"
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
Window mainWindow(
800, 600, 0,
RGB(255, 255, 255),
"我的星垣应用");
auto button =
std::make_unique<Button>(
30, 30, 160, 42,
"Click Me");
button->setOnClickListener(
[&mainWindow]()
{
StellarX::MessageBox::showModal(
mainWindow,
"按钮被点击",
"提示",
StellarX::MessageBoxType::OK);
});
mainWindow.addControl(
std::move(button));
mainWindow.draw();
return mainWindow.runEventLoop();
}
Current Version
v4.0.0:核心稳定性与安全控件树更新
v4.0.0 引入稳定的 ControlHandle 和延迟结构变更事务, 解决回调期间增删控件可能造成的对象、迭代器与遍历状态失效问题, 同时收口文本所有权、页签 API、事件循环和托管重绘链路。稳定句柄与安全所有权
Window 与 Canvas 使用 ControlHandle 管理控件身份, 不再向外暴露可变的 unique_ptr 容器。
延迟结构变更事务
事件、绘制、tick 和按钮回调中的新增、删除与清空请求, 会在最外层事务结束后的安全点统一提交。
事件、重绘与文本修复
修复 Table 分页覆盖、几何残影、Dialog 清理、Tooltip、 MBCS 文本和日志配置切换等问题。
Use Cases
更适合这些场景
C++ 课程设计
给控制台项目加一个可视化界面,让学生更快做出完整作品, 而不是卡在复杂框架配置上。
社团教学与入门项目
用相对简单的 API 讲清楚窗口、控件、事件、容器、布局和重绘等 GUI 基础概念。
个人小工具
适合制作寄存器查看器、数据表格、简单管理系统、比赛可视化和实验辅助工具。
Roadmap
StellarX Pro 规划
基础版继续保持开源和稳定维护。后续会探索面向中小型桌面应用的 StellarX Pro, 包括新的渲染后端、更完善的布局系统、主题系统和更接近日常项目的开发体验。基础版稳定
继续收口现有控件、布局、重绘、文档和示例,降低新手使用成本。
渲染后端抽象
为未来从 EasyX + Win32 迁移到更现代的渲染方案打基础。
Pro 版本探索
面向中小型桌面应用,尝试更强的控件体系、主题能力和工程化体验。
About
