(9)hge 中 GUI 对象和控件

(9)hge 中 GUI 对象和控件

ID:40727232

大小:98.50 KB

页数:7页

时间:2019-08-06

(9)hge 中 GUI 对象和控件_第1页
(9)hge 中 GUI 对象和控件_第2页
(9)hge 中 GUI 对象和控件_第3页
(9)hge 中 GUI 对象和控件_第4页
(9)hge 中 GUI 对象和控件_第5页
资源描述:

《(9)hge 中 GUI 对象和控件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.hge中GUI对象和控件hge中GUI对象被看作是一个控件的容器,hge提供了创建GUI对象的类hgeGUI类 2.hgeGUI类1)AddCtrl函数voidAddCtrl( hgeGUIObject*ctrl   //hgeGUIObject对象的指针);我们通常可以有这样的写法:gui->AddCtrl(newhgeGUIMenuItem(1,fnt,snd,400,200,0.0f,"Play"));这里hgeGUIMenuItem是一个控件,继承于hgeGUIObject类,注意,

2、我们创建了hgeGUIObject对象,但是却没有去销毁它,因为hgeGUI类的析构函数会去处理这些问题。2)SetNavMode设置GUI导航模式(Navigatemode):voidSetNavMode( intnavmode);HGEGUI_NONAVKEYS-无键盘导航HGEGUI_LEFTRIGHT-左右按键导航HGEGUI_UPDOWN-上下按键导航HGEGUI_CYCLED-循环默认情况下,navmode被设置为HGEGUI_NONAVKEYS,对于一个菜单,我们可以这样设置:Se

3、tNavMode(HGEGUI_UPDOWN

4、HGEGUI_CYCLED);使用上下键导航,并且循环。3)SetCursor设置光标sprite:voidSetCursor( hgeSprite*sprite);设置光标对应的sprite,如果为0,表示不显示光标,默认情况为0。注意,光标不受GUI对象的管理,也就是用户必须自己释放光标资源。4)SetFocusvoidSetFocus( intid);每个控件都有一个对应的ID号,这个ID号被称之为控件的标识符,这里通过控件标识符来设置焦点。键

5、盘事件只会被分发到成为焦点的控件上。5)Enter开始GUIEnter动画 3.hgeGUIObjecthgeGUIObject是一个抽象类,它有一个纯虚函数RenderhgeGUIObject类的子类的对象并不是GUI对象,而是GUI控件,这一点应该清楚1)hgeGUIObject的成员变量hgeGUIObject的成员变量都为public://必须在构造函数中初始化的变量int     id;  //控件标识符bool    bStatic;   //如果为true控件无法成为焦点也不会接受

6、键盘事件,同时它将被navigate例程忽略(前面已谈到设置navigate)bool    bVisible;  //控件是否可见,如果为false,控件将不被渲染bool    bEnabled;  //false时,控件对用户的输入不作出任何回应,但是控件是可以接受到用户的通知(区别于bStatic)hgeRect rect;  //控件有界框(boundingbox)在屏幕上的区域DWORD   color;  //控件颜色//不需要在构造函数中初始化的变量hgeGUI      *gu

7、i;  //GUI对象指针hgeGUIObject*next;  //连接GUI对象中的所有控件,子类不需要改变它hgeGUIObject*prev;  //连接GUI对象中的所有控件,子类不需要改变它//hge指针staticHGE  *hge;2)voidRender(void)渲染控件到屏幕3)voidUpdate(floatfDt)fDt上次调用Update函数到现在所用的时间(单位是秒)4)voidEnter(void)控件出现在屏幕上的时候被调用,用于播放控件出现时的动画5)void

8、Leave(void)控件离开屏幕的时候被调用,用于播放控件离开屏幕的动画6)boolIsDone(void)判断控件出现动画和控件离开动画是否播放完毕7)voidFocus(boolbFocused)控件获得焦点,bFocused为true,反之为false8)boolMouseMove(floatx,floaty)以控件左上为原点,鼠标指针的坐标。如果控件状态改变,需要通知调用者,那么返回true,否则返回false9)boolMouseLButton(boolbDown)bDown如果为t

9、rue,表示按下鼠标左键,如果bDown为false,表示松开鼠标左键10)boolKeyClick(intkey,intchr)key表示按键的虚拟代码(Virtualcodeofthepressedkey),见下表:HGEK_LBUTTONLeftmousebuttonHGEK_RBUTTONRightmousebuttonHGEK_MBUTTONMiddlemousebutton(wheelbutton) HGEK_ESCAPEESCAPEkeyHGEK_BACKSPACEBACKSPAC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。