复制代码
1 import win.ui;
2 import fonts.fontAwesome
3 import godking.customPlus;
4 import color;
5 import win.clip;
6 /*DSG{{*/
7 var winform = win.form(text="经典双色配色示例";right=783;bottom=567)
8 winform.add(
9 plus={cls="plus";left=8;top=8;right=752;bottom=560;bgcolor=0xC0DCC0;db=1;dl=1;dr=1;dt=1;notify=1;z=1};
10 scrollbar={cls="scrollbar";left=752;top=8;right=776;bottom=560;db=1;dr=1;dt=1;edge=1;z=2}
11 )
12 /*}}*/
13
14 var itemModel = {
15 // 1. 主颜色
16 {
17 name="mainColor";
18 type="rect";
19 rectf={x=3; y=3; width=-3; height=-3};
20 };
21 // 2. 辅颜色
22 {
23 name="subColor";
24 type="rect";
25 rectf={x=3; y=103; width=-3; height=-3};
26 };
27 // 3. 主颜色名称
28 {
29 name="mainColorName";
30 type="text";
31 rectf={x=20; y=10; width=120; height=40};
32 align=0;
33 valign=1;
34 smooth=true;
35 };
36 // 4. 主颜色代码
37 {
38 name="mainColorCode";
39 type="text";
40 rectf={x=20; y=50; width=-8; height=24};
41 align=0;
42 valign=1;
43 smooth=true;
44 };
45 // 5. 辅颜色名称
46 {
47 name="subColorName";
48 type="text";
49 rectf={x=20; y=116; width=100; height=24};
50 align=0;
51 valign=1;
52 smooth=true;
53 };
54 // 6. 辅颜色代码
55 {
56 name="subColorCode";
57 type="text";
58 rectf={x=20; y=136; width=136; height=24};
59 align=0;
60 valign=1;
61 };
62
63 // 7. 复制按钮背景
64 {
65 name="btnCopyBg";
66 type="rect";
67 rectf={x=-70; y=-36; width=-12; height=24};
68 round=4;
69 width=1;
70 color=0xAA107C10;
71 fillcolor=0xFFFFFFFF;
72 hoveredfillcolor=0xFF7C00FC;
73 hover=true;
74 cursor=32649;
75 click=true;
76 };
77 // 8. 复制按钮文字
78 {
79 name="btnCopyText";
80 type="text";
81 rectf={x=-70; y=-36; width=-12; height=24};
82 font={name='FontAwesome'; h=12; color=0xFF000000};
83 hoveredfont={name='FontAwesome'; h=12; color=0xFFFFFFFF};
84 hover=true;
85 cursor=32649;
86 align=1;
87 valign=1;
88 };
89 // 外层圆角处理
90 {
91 type="rect";
92 rectf={x=1; y=1; width=-1; height=-1};
93 width=6;
94 color=0xFFFFFFFF;
95 };
96 {
97 type="rect";
98 rectf={x=1; y=1; width=-1; height=-1};
99 width=6;
100 round=10;
101 color=0xFFFFFFFF;
102 };
103 // 当前复制项边框
104 {
105 type="rect";
106 name="activeborder";
107 rectf={x=6; y=6; width=-6; height=-6};
108 width=3;
109 round=4;
110 color=0;
111 };
112 {
113 type="rect";
114 name="activeborder1";
115 rectf={x=8; y=8; width=-8; height=-8};
116 width=1;
117 round=3;
118 color=0;
119 };
120 };
121
122 var colors = {
123 {"#002FA7";"克莱因蓝";"#FFCF14";"靓丽黄"};
124 {"#FF7400";"爱马仕橙";"#2B3C3D";"沉稳灰"};
125 {"#990033";"勃艮第红";"#DDCDB7";"象牙白"};
126 {"#01847F";"马尔斯绿";"#FFAA93";"杏色"};
127 {"#81D8CF";"蒂芙尼蓝";"#67AA66";"抹茶色"};
128 {"#FFE677";"蜂蜜黄";"#FF6067";"热狗红"};
129 {"#0081FF";"治愈蓝";"#FEF99D";"高明黄"};
130 {"#FFDBDD";"温柔粉";"#652C97";"浪漫紫"};
131 {"#00FD00";"荧光绿";"#0947EE";"普信蓝"};
132 {"#00324D";"普鲁斯蓝";"#B89076";"睿智金"};
133 {"#0D7E9C";"孔雀蓝";"#D5BA9F";"浅驼色"};
134 {"#7FA91F";"牛油果绿";"#A8ABB0";"浅灰色"};
135 {"#185A56";"深灰绿";"#FD742D";"橘橙色"};
136 {"#9D73BD";"青紫色";"#7BA6D1";"飘蓝色"};
137 {"#66D3C0";"蒂芙尼蓝";"#FDDE83";"淡黄色"};
138 {"#2A4D6E";"深蓝灰";"#F7C45C";"活力浅黄"};
139 {"#FF6B6B";"珊瑚红";"#4ECDC4";"薄荷青"};
140 {"#3A405A";"深蓝紫";"#A8DADC";"浅天蓝"}
141 };
142
143 var itemLists={};
144 for(i=1,#colors,1){
145 var cl = colors[i];
146 var mainColor = color.argbReverse(color.parse(cl[1]));
147 var subColor=color.argbReverse(color.parse(cl[3]));
148 var subColorCode = {text="0x"++string.format("%X",subColor),font={name='Tahoma'; h=14; color=mainColor}};
149 var mainColorCode = {text="0x"++string.format("%X",mainColor),font={name='Tahoma'; h=16; color=subColor}};
150 var tt = {
151 mainColor=mainColor;
152 mainColorName={text=cl[2];font={name='Tahoma'; h=16; color=subColor}};
153 subColor=subColor;
154 subColorName={text=cl[4];font={name='Tahoma'; h=16; color=mainColor}};
155 subColorCode = subColorCode;
156 mainColorCode = mainColorCode;
157 copyCode = mainColorCode.text++'\r\n'++subColorCode.text;
158 btnCopyText = '\uF0C5 复制';
159 };
160 table.push(itemLists,tt);
161 }
162
163 var p = godking.customPlus(winform.plus/*plus*/,itemModel,itemLists,{
164 itemWidth=170, /*项目宽度*/
165 itemHeight=180, /*项目高度*/
166 autoSizeWidth=true, /*自动根据项目列数及plus宽度调整项目宽度*/
167 autoSizeHeight=false, /*自动根据项目行数及plus高度调整项目高度*/
168 colnum=0, /*项目列数,为0则根据项目宽度和plus宽度自动计算*/
169 rownum=0, /*项目行数,为0则根据项目高度和plus高度自动计算*/
170 padLeft=5, /*plus左边空白距离*/
171 padTop=5, /*plus顶边空白距离*/
172 padRight=5, /*plus右边空白距离*/
173 padBottom=5 /*plus底边空白距离*/
174 })
175
176 p.onClick = function(itemIndex/*项目索引*/,elemIndex/*元素索引*/,elemID/*元素id*/,elemName/*元素name*/,pageIndex/*当前页项目索引*/,x/*鼠标X坐标*/,y/*鼠标Y坐标*/,disabled/*项目是否禁用*/,itemRect/*项目区域*/,elemRect/*元素区域*/){
177 /*鼠标左键单击非隐藏项目时触发该事件。当项目禁用或没有可点击元素时,默认不触发该事件。可设 allClickEvent=true 启用触发。*/
178 if elemName=="btnCopyBg" {
179 if p.itemList[itemIndex].btnCopyText=='\uF0C5 复制' {
180 for(i=1,#p.itemList,1){
181 p.itemList[i].btnCopyText='\uF0C5 复制';
182 p.itemList[i].activeborder={color=0};
183 p.itemList[i].activeborder1={color=0};
184 }
185 p.itemList[itemIndex].btnCopyText="已复制";
186 p.itemList[itemIndex].activeborder={color=0xDD000000};
187 p.itemList[itemIndex].activeborder1={color=0xFFFFFFFF};
188 win.clip.write(p.itemList[itemIndex].copyCode);
189 p.update();
190 } else {
191 p.itemList[itemIndex].btnCopyText='\uF0C5 复制';
192 p.itemList[itemIndex].activeborder={color=0};
193 p.itemList[itemIndex].activeborder1={color=0};
194 win.clip.write("");
195 p.update(itemIndex);
196 }
197 }
198 }
199
200 p.bindScrollbar(winform.scrollbar);
201 winform.show();
202 win.loopMessage();