8.5 KiB
第二部分第十五章 不可见控件
Chapter 15 of Part 2 Invisible Control
不可见控件简介
Brief Introduction of Invisible Control
不可见控件是指那些不能在窗口上显示,但是却具有一定功能的组件。
Invisible control refers to the components which cannot be displayed on the window but have certain functions.
这些组件是对一些功能模块的封装,保证它们能够像控件一样在miniStudio中被编辑
These components is encapsulation to some functional templates, guaranteeing that they can be edited in miniStudio like control
mInvsbComp
mInvsbComp
-
控件名称: 无
-
英文名: Invisble Component
-
简要介绍: 不可见组件的基类
-
示意图: %RED%基础类,不能直接使用%ENDCOLOR%
-
Control name: None
-
English name: Invisble Component
-
Brief introduction: Basic class of invisible component
-
Schematic diagram: %RED%Foundation class, cannot be used directly%ENDCOLOR%
mInvsbComp风格
Style of mInvsbComp
It is inherited from the style of mComponent</a>
mInvsbComp属性
Property of mInvsbComp
It is inherited from the property of mComponent</a>
mInvsbComp方法
Method of mInvsbComp
mInvsbComp提供了以下方法的实现:
mInvsbComp provides realization of the following methods:
setIdgetIdsetReleatedgetReleatedgetChild
另外,为方便mInvsbComp的使用,提供了如下函数
In addition, for the convenience of use of mInvsbComp, the following
functions are provided
-
创建不可见组件
-
Create invisible component %CODE{cpp}% /**
- \fn
mInvsbComp*ncsCreateInvsbComp(constchar*class_name,
mComponent*parent,
int id,NCS_PROP_ENTRY*props,
NCS_EVENT_HANDLER* handlers,
DWORDuser_data); - \brief create an Invisible Component
- \param
class_namethe class name of Invisible Component - \param parent the parent of creating Invisible Component
- \param id the id of Invisible Component
- \param props the properties array of Invisible Component
- \param handlers the event handler array of Invisible Component
- \param
user_datauser data - \return
mInvsbComp* - the new created Invisible Component pointer,NULLor failed - \sa
NCS_INVSB_CREATE_INFO,ncsCreateInvsbCompIndirect/mInvsbComp*ncsCreateInvsbComp(constcharclass_name,
mComponent*parent,
int id,
NCS_PROP_ENTRY*props,
NCS_EVENT_HANDLER* handlers,
DWORDuser_data);
/**
- \fn
mInvsbComp*ncsCreateInvsbCompIndirect(constchar*class_name,
NCS_INVSB_CREATE_INFO*create_info); - \brief create an Invisible Component from creating info
- \param
class_namethe class name of Invisible Component - \param
create_infothe creating information pointer - \return
mInvsbComp* - the Invisible Component pointer if success,NULLor failed - \sa
NCS_INVSB_CREATE_INFO,ncsCreateInvsbComp/mInvsbComp*ncsCreateInvsbCompIndirect(constcharclass_name,
NCS_INVSB_CREATE_INFO*create_info);
-
注: 不鼓励直接使用该函数创建不可见组件 ,它们在手写代码中没有优势,优势在于,可以利用miniStudio提供的资源来加载。 故省略例子
-
Note: * it is not encouraged to directly use the function to create invisible component, * and they have no advantage in handwritten codes. The advantage is that resources provided by miniStudio can be utilized to load.
故省略例子
So example is omitted.
mInvsbComp事件
Event of mInvsbComp
It is inherited from the event of mComponent<a/>
mTimer
- 控件名称:
NCSCTRL_TIMER - 英文名: Timer
- 简要介绍: 对MiniGUI
SetTimerEx和KillTimer的封装

- Control name:
NCSCTRL_TIMER - English name: Timer
- Brief introduction: Encapsulation to MiniGUI
SetTimerExandKillTimer

继承关系
Inheritance relation
- mInvsbComp
mTimer
mTimer风格
Style of mTimer
It is inherited from thestyle ofmInvsbComp`
mTimer属性
Property of mTimer
| * 属性ID | miniStudio 名| 类型 | 权限 | 说明 *|
| NCSP_TIMER_INTERVAL | interval | DWORD | RW | 设置Timer的时间间隔,以10ms为单位, 如果Timer正在运行,它会重启Timer |
It is inherited from the property ofmInvsbComp`
| * Property ID | miniStudio name| Type | Authority | Explanation *|
| NCSP_TIMER_INTERVAL | interval | DWORD | RW | Set time interval of Timer, with 10ms as the unit. If Timer is operating, it will restart Timer |
mTimer方法
Method of mTimer
It is inherited from themethod of mInvsbComp`
- start
%CODE{cpp}%
BOOL(*start)(clss *_this);
-
停止正在运行的Timer
-
Stop the Timer in operation
-
getParent%CODE{cpp}%HWND(*getParent)(clss *_this);
- Return :
TRUE-- continue Timer,FALSE-- stop Timer - Params
DWORDtotal_count- Timer启动以来总时间数
- Return :
TRUE-- continue Timer,FALSE-- stop Timer - Params
DWORDtotal_count- Total time amount since Timer starts
mTimer示例
Example of mTimer
下面示例展示的是用timer显示一个数字钟表,运行效果图如下:
The example below demonstrates using timer to show a digital clock, and the
operation effect drawing is as below:

-
声明Timer,使用和控件一样的结构
-
Declare Timer uses the same structure as the control %CODE{cpp}% %INCLUDE{"%ATTACHURL%/timer.c.txt" pattern="^.?//START_DECLARE_TIMER(.?)//END_DECLARE_TIMER.*"}%
-
当MSG_TIMER事件发生时,更新时间
-
When
MSG_TIMERevent occurs, update the time %CODE{cpp}% %INCLUDE{"%ATTACHURL%/timer.c.txt" pattern="^.?//START_UPDATE_TIME(.?)//END_UPDATE_TIME.*"}%
<< | Table of Contents | >>