C++界面库截图说明

开发 后端
下面详细介绍C++界面库,使用Graphic Element Template制作按钮模板,首先说一下什么是C++界面库,及其C++界面库的相关知识。

对于C++界面库:使用Graphic Element Template制作按钮模板的说明进行详细介绍,模板的属性一共有6个:x、y、w、h、state、content,其中state有normal、hot和press三个取值。XML、代码和截图如下:

下面的模板文件有两个模板,分别是background和button。background制作玻璃效果,button给background加上一个边框,展示了property evaluation和template reference的功能:

  1.  1 <?xml version="1.0" encoding="utf-8" ?> 
  2.  2 <irconfig xmlns="http://tempuri.org/irconfig.xsd"> 
  3.  3   <resources> 
  4.  4     <brush name="outer_border_brush" kind="solid"> 
  5.  5       <main_color r="96" g="128" b="255" a="255"/> 
  6.  6     </brush> 
  7.  7       
  8.  8     <brush name="up_content_brush_normal" kind="linear_gradient" gradient_angle="0"> 
  9.  9       <main_color r="224" g="224" b="224" a="255"/> 
  10. 10       <gradient_color r="192" g="192" b="192" a="255"/> 
  11. 11     </brush> 
  12. 12     <brush name="down_content_brush_normal" kind="linear_gradient" gradient_angle="0"> 
  13. 13       <main_color r="128" g="128" b="128" a="255"/> 
  14. 14       <gradient_color r="160" g="160" b="160" a="255"/> 
  15. 15     </brush> 
  16. 16       
  17. 17     <brush name="up_content_brush_hot" kind="linear_gradient" gradient_angle="0"> 
  18. 18       <main_color r="224" g="224" b="255" a="255"/> 
  19. 19       <gradient_color r="192" g="192" b="255" a="255"/> 
  20. 20     </brush> 
  21. 21     <brush name="down_content_brush_hot" kind="linear_gradient" gradient_angle="0"> 
  22. 22       <main_color r="128" g="128" b="255" a="255"/> 
  23. 23       <gradient_color r="160" g="160" b="255" a="255"/> 
  24. 24     </brush> 
  25. 25       
  26. 26     <brush name="up_content_brush_press" kind="linear_gradient" gradient_angle="0"> 
  27. 27       <main_color r="224" g="224" b="255" a="255"/> 
  28. 28       <gradient_color r="160" g="160" b="255" a="255"/> 
  29. 29     </brush> 
  30. 30     <brush name="down_content_brush_press" kind="linear_gradient" gradient_angle="0"> 
  31. 31       <main_color r="32" g="32" b="255" a="255"/> 
  32. 32       <gradient_color r="96" g="96" b="255" a="255"/> 
  33. 33     </brush> 
  34. 34       
  35. 35     <brush name="background_brush" kind="solid"> 
  36. 36       <main_color r="255" g="255" b="255" a="255"/> 
  37. 37     </brush> 
  38. 38     <brush name="text_brush" kind="solid"> 
  39. 39       <main_color r="0" g="0" b="0" a="255"/> 
  40. 40     </brush> 
  41. 41     <pen name="outer_border_pen" brush="outer_border_brush" endcap="round" join="round" weight="1"/> 
  42. 42     <font name="text_font" face="微软雅黑" size="18"/> 
  43. 43   </resources> 
  44. 44   <templates> 
  45. 45     <template name="background"> 
  46. 46       <properties> 
  47. 47         <property name="x" type="int" default="0"/> 
  48. 48         <property name="y" type="int" default="0"/> 
  49. 49         <property name="w" type="int" default="100"/> 
  50. 50         <property name="h" type="int" default="100"/> 
  51. 51         <property name="state" type="str" default="normal"/> 
  52. 52         <property name="content" type="str" default=""/> 
  53. 53       </properties> 
  54. 54       <content> 
  55. 55         <rectangle name="client" x="$x" y="$y" width="$w" height="$h"> 
  56. 56           <text brush="text_brush" font="text_font" text="$content" x="(client.width-this.width)/2" y="(client.height-this.height)/2"/> 
  57. 57   
  58. 58           <rectangle brush="up_content_brush_normal" visible="$state=='normal'" 
  59. 59                      x="0" y="0" width="client.width" height="client.height/2" /> 
  60. 60           <rectangle brush="down_content_brush_normal" visible="$state=='normal'" 
  61. 61                      x="0" y="client.height/2" width="client.width" height="client.height/2+1" /> 
  62. 62   
  63. 63           <rectangle brush="up_content_brush_hot" visible="$state=='hot'" 
  64. 64                      x="0" y="0" width="client.width" height="client.height*4/9" /> 
  65. 65           <rectangle brush="down_content_brush_hot" visible="$state=='hot'" 
  66. 66                      x="0" y="client.height*4/9" width="client.width" height="client.height*5/9+1" /> 
  67. 67   
  68. 68           <rectangle brush="up_content_brush_press" visible="$state=='press'" 
  69. 69                      x="0" y="0" width="client.width" height="client.height*5/9" /> 
  70. 70           <rectangle brush="down_content_brush_press" visible="$state=='press'" 
  71. 71                      x="0" y="client.height*5/9" width="client.width" height="client.height*4/9+1" /> 
  72. 72         </rectangle> 
  73. 73       </content> 
  74. 74     </template> 
  75. 75     <template name="button"> 
  76. 76       <properties> 
  77. 77         <property name="x" type="int" default="0"/> 
  78. 78         <property name="y" type="int" default="0"/> 
  79. 79         <property name="w" type="int" default="100"/> 

程序由4个按钮组成,4个按钮都是button的实例化,但是只处理了最后一个按钮的消息。因为现在只有画图,所以消息处理部分是手动的。下面是截图:

截图

【编辑推荐】

  1. 如何正确编写C++项目开发编写项目计划书
  2. 对C++库函数进行学习探索总结笔记
  3. 深度演示C++语言的种种高安全性
  4. 详细介绍如何准确无误的编写C++语言
  5. 深度演示C++语言的种种高安全性
责任编辑:chenqingxiang 来源: 计世网
相关推荐

2011-07-13 18:18:49

C++

2010-01-18 15:30:01

Visual C++

2010-01-13 10:09:24

C++标准库

2010-01-14 17:42:47

CC++

2010-01-26 10:42:26

C++函数

2010-01-25 10:54:18

C++设计

2010-01-26 13:42:28

C++指针

2010-01-26 13:36:27

C++设计

2010-01-19 13:43:59

C++函数

2010-01-28 11:08:09

C++变量

2010-01-28 13:27:12

C++类定义

2010-01-25 18:19:17

C++特性

2010-01-27 10:22:53

C++基类

2010-01-21 15:07:31

C++开发

2009-11-12 11:00:56

Visual C++

2010-01-25 18:19:17

C++特性

2010-01-25 18:19:17

C++特性

2010-01-19 17:54:47

C++程序

2010-01-12 10:40:22

C++程序员

2012-04-23 13:43:06

用户体验用户界面
点赞
收藏

51CTO技术栈公众号