C 界面库截图说明
创始人
2024-06-21 01:21:28
0

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

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

截图

【编辑推荐】

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

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...