62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
# Console UI
|
|
一个简单的控制台UI抽象框架.
|
|
说起来你可能不信,但这是我第一次感觉到一丝MVC的气息...(也有可能是MFC...)
|
|
|
|
## ColorUI编程参考
|
|
参见[Header](ColorUI.h) , [Source](ColorUI.cpp)
|
|
**注意** ColorUI与CUI互不兼容.
|
|
### ColorSelection
|
|
`ConsoleColor frontColorNormal,backColorNormal,frontColorActivate,backColorActivate` 选项的前景色与背景色(激活与未激活)
|
|
`string text` 选项内容
|
|
`string info` 选项说明(可为空)
|
|
`virtual void drawText()` 绘制选项文字
|
|
`virtual void drawInfo()` 绘制选项提示
|
|
`virtual void onActivate()` 被激活时调用
|
|
`virtual void onDeActivate()` 被取消激活时调用
|
|
`virtual int onClick()` 处理选中事件
|
|
> 返回值
|
|
0 不进行页面切换(如果设置了jump页面则跳转到下一页面)
|
|
1 返回上一页面
|
|
2 退出程序
|
|
|
|
`virtual int onDelete()` 选项所在页面被卸载时调用
|
|
> 返回值
|
|
0 此选项将被页面删除
|
|
其他 此选项将不会被页面删除
|
|
|
|
### ColorPage
|
|
`ConsoleColor titleFrontColor,titleBackColor` 标题颜色
|
|
`ConsoleColor textFrontColor,textBackColor` 内容颜色
|
|
|
|
|
|
## CUI编程参考
|
|
参见[Header](CUI.h) , [Source](CUI.cpp)
|
|
### Selection
|
|
`string text` 选项内容
|
|
`string info` 选项说明(可为空)
|
|
`virtual int onClick()` 处理选中事件
|
|
> 返回值
|
|
0 不进行页面切换(如果设置了jump页面则跳转到下一页面)
|
|
1 返回上一页面
|
|
2 退出程序
|
|
|
|
`virtual void drawText()` 绘制选项文字
|
|
`virtual void drawInfo()` 绘制选项提示
|
|
|
|
### Page
|
|
`string title` 页面标题
|
|
`string text` 页面内容
|
|
`virtual void onLoad()` 当页面被加载时执行
|
|
`virtual void onBackground()` 当页面进入后台时执行
|
|
`virtual void onForeground()` 当页面从后台被载入到前台时执行
|
|
`virtual int onUnload()` 当页面被卸载时执行
|
|
> 返回值
|
|
0 由对应的Frame进行资源释放(delete)
|
|
1 Frame不进行资源释放
|
|
|
|
### Frame
|
|
`virtual void setPage(Page*)` 设置首页
|
|
`virtual void getPage()` 获取首页
|
|
`virtual void run()` 启动程序
|
|
`virtual void jumpTo()` 由其他控件调用,设置跳转的下一页面
|