程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++界面庫截圖說明

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++語言的種種高安全性

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved