Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

559 lines
15 KiB

  1. //
  2. // Logon resource file
  3. //
  4. #include "resource.h"
  5. #include <directuipp.h>
  6. /*****************************************************
  7. * Element resources
  8. *****************************************************/
  9. <style resid=framess>
  10. element
  11. {
  12. background: argb(0,0,0,0);
  13. }
  14. element [id=atom(contentcontainer)]
  15. {
  16. background: rgb(90,126,220);
  17. }
  18. button
  19. {
  20. background: rcbmp(IDB_SELECTION,6,#FF00FF,0,0,1,0);
  21. borderthickness: rect(8,8,0,8);
  22. }
  23. </style>
  24. <style resid=toppanelss>
  25. element
  26. {
  27. background: argb(0,0,0,0);
  28. }
  29. element [id=atom(toppanel)]
  30. {
  31. background: rgb(0,48,156);
  32. }
  33. element [id=atom(divider)]
  34. {
  35. background: rcbmp(IDB_HDIVIDERTOP,6,#FF00FF,0,0,1,0);
  36. }
  37. </style>
  38. <style resid=bottompanelss>
  39. element
  40. {
  41. background: argb(0,0,0,0);
  42. }
  43. element [id=atom(bottompanel)]
  44. {
  45. background: gradient(argb(0,57,52,173), argb(0,0,48,156), 0);
  46. fontface: rcstr(IDS_OPTIONSFONT);
  47. }
  48. element [id=atom(divider)]
  49. {
  50. background: rcbmp(IDB_HDIVIDERBOT,6,#FF00FF,0,0,1,0);
  51. }
  52. element [id=atom(options)]
  53. {
  54. padding: rect(25rp, 20rp, 25rp, 20rp);
  55. }
  56. button
  57. {
  58. fontsize: rcint(IDS_TURNOFFFONTSIZE) pt;
  59. foreground: white;
  60. cursor: hand;
  61. }
  62. button [mousefocused]
  63. {
  64. fontstyle: underline;
  65. }
  66. button [keyfocused]
  67. {
  68. fontstyle: underline;
  69. }
  70. element [id=atom(instruct)]
  71. {
  72. contentalign: wrapleft;
  73. padding: rect(18rp,0,0,0);
  74. fontsize: rcint(IDS_INSTRUCTFONTSIZE) pt;
  75. foreground: white;
  76. }
  77. </style>
  78. <style resid=leftpanelss>
  79. element
  80. {
  81. background: argb(0,0,0,0);
  82. fontface: rcstr(IDS_WELCOMEFONT);
  83. }
  84. element [id=atom(product)]
  85. {
  86. animation: alpha | s | mediumslow;
  87. }
  88. element [id=atom(leftpanel)]
  89. {
  90. foreground: rgb(239,247,255);
  91. }
  92. element [id=atom(welcome)]
  93. {
  94. fontstyle: italic;
  95. fontsize: rcint(IDS_WELCOMEFONTSIZE) pt;
  96. fontweight: bold;
  97. padding: rect(0rp,0rp,22rp,0);
  98. contentalign: topright;
  99. }
  100. element [id=atom(welcomeshadow)]
  101. {
  102. foreground: rgb(49,81,181);
  103. fontstyle: italic;
  104. fontsize: rcint(IDS_WELCOMEFONTSIZE) pt;
  105. fontweight: bold;
  106. padding: rect(2rp,3rp,20rp,0);
  107. contentalign: topright;
  108. }
  109. element[id=atom(help)]
  110. {
  111. fontsize: rcint(IDS_HELPFONTSIZE) pt;
  112. padding: rect(81rp,81rp,0,0);
  113. contentalign: wrapright;
  114. }
  115. </style>
  116. <style resid=rightpanelss>
  117. element
  118. {
  119. background: argb(0,0,0,0);
  120. }
  121. element [id=atom(divider)]
  122. {
  123. background: rcbmp(IDB_VDIVIDER,6,#FF00FF,0,0,1,0);
  124. }
  125. scrollbar [vertical]
  126. {
  127. layoutpos: nineright;
  128. background: rgb(115,146,231);
  129. }
  130. viewer
  131. {
  132. layoutpos: nineclient;
  133. }
  134. thumb
  135. {
  136. background: rcbmp(IDB_SBTHUMBV,6,#FF00FF,0,0,1,0);
  137. borderthickness: rect(3,3,3,3);
  138. }
  139. repeatbutton [id=atom(lineup)]
  140. {
  141. content: rcbmp(IDB_SBLINEUPV,3,-1,sysmetric(SM_CYVSCROLL),sysmetric(SM_CYVSCROLL),0,0);
  142. }
  143. repeatbutton [id=atom(linedown)]
  144. {
  145. content: rcbmp(IDB_SBLINEDOWNV,3,-1,sysmetric(SM_CYVSCROLL),sysmetric(SM_CYVSCROLL),0,0);
  146. }
  147. </style>
  148. <style resid=hotaccountlistss>
  149. element
  150. {
  151. background: argb(0,0,0,0);
  152. fontface: rcstr(IDS_ACCOUNTLISTFONT);
  153. }
  154. selector
  155. {
  156. padding: rect(0rp,26rp,5rp,26rp);
  157. }
  158. logonaccount
  159. {
  160. cursor: hand;
  161. foreground: rgb(239,247,255);
  162. background: rgb(90,126,220);
  163. animation: alpha | log | fast;
  164. alpha:96;
  165. }
  166. logonaccount [logonstate=1] // Granted
  167. {
  168. animation: rectangle | s | mediumfast;
  169. cursor: arrow;
  170. alpha:255;
  171. }
  172. logonaccount [mousewithin]
  173. {
  174. cursor: hand;
  175. // foreground: rgb(239,247,255);
  176. alpha:255;
  177. }
  178. logonaccount [selected]
  179. {
  180. cursor: hand;
  181. // foreground: rgb(239,247,255);
  182. alpha:255;
  183. }
  184. element [id=atom(userpane)]
  185. {
  186. padding: rect(2rp,2rp,14rp,2rp);
  187. borderthickness: rect(5,5,0,5);
  188. bordercolor: rgb(90,126,220);
  189. fontsize: rcint(IDS_HELPFONTSIZE) pt;
  190. }
  191. element [id=atom(userpane)][selected]
  192. {
  193. background: rcbmp(IDB_SELECTION,6,#FF00FF,0,0,1,0);
  194. }
  195. logonaccount [selected]
  196. {
  197. alpha: 255;
  198. }
  199. element [id=atom(pictureframe)]
  200. {
  201. background: rcbmp(IDB_USERFRAME,7,255,0,0,1,0);
  202. borderthickness: rect(5,5,5,5);
  203. margin: rect(0,0, 7rp,0);
  204. }
  205. element [id=atom(pictureframe)] [mousefocused]
  206. {
  207. background: rcbmp(IDB_USERFRAMESEL,7,255,0,0,1,0);
  208. borderthickness: rect(5,5,5,5);
  209. margin: rect(0,0,7rp,0);
  210. alpha: 255;
  211. }
  212. element [id=atom(pictureframe)] [selected]
  213. {
  214. background: rcbmp(IDB_USERFRAMESEL,7,255,0,0,1,0);
  215. borderthickness: rect(5,5,5,5);
  216. margin: rect(0,0,7rp,0);
  217. alpha: 255;
  218. }
  219. element [id=atom(username)]
  220. {
  221. foreground: rgb(239,247,255);
  222. contentalign: endellipsis;
  223. }
  224. button [class="status"]
  225. {
  226. background: argb(0,0,0,0);
  227. foreground: rgb(0,48,156);
  228. fontsize: rcint(IDS_STATUSFONTSIZE) pt;
  229. fontweight: bold;
  230. }
  231. button [class="status"][mousefocused]
  232. {
  233. fontstyle: underline;
  234. }
  235. button [class="status"][keyfocused]
  236. {
  237. fontstyle: underline;
  238. }
  239. button [class="status"][selected]
  240. {
  241. foreground: rgb(239,247,255);
  242. fontsize: rcint(IDS_STATUSFONTSIZE) pt;
  243. fontweight: bold;
  244. }
  245. </style>
  246. <style resid=accountlistss>
  247. element
  248. {
  249. background: argb(0,0,0,0);
  250. fontface: rcstr(IDS_ACCOUNTLISTFONT);
  251. }
  252. selector
  253. {
  254. padding: rect(0rp,26rp,5rp,26rp);
  255. }
  256. logonaccount
  257. {
  258. cursor: hand;
  259. animation: alpha | log | fast;
  260. background: rgb(90,126,220);
  261. }
  262. logonaccount [logonstate=1] // Granted
  263. {
  264. animation: rectangle | s | mediumfast;
  265. cursor: arrow;
  266. }
  267. element [id=atom(userpane)]
  268. {
  269. padding: rect(2rp,2rp,14rp,2rp);
  270. borderthickness: rect(5,5,0,5);
  271. bordercolor: rgb(90,126,220);
  272. fontsize: rcint(IDS_HELPFONTSIZE) pt;
  273. }
  274. element [id=atom(userpane)][selected]
  275. {
  276. background: rcbmp(IDB_SELECTION,6,#FF00FF,0,0,1,0);
  277. }
  278. element [id=atom(pictureframe)]
  279. {
  280. background: rcbmp(IDB_USERFRAME,7,255,0,0,1,0);
  281. borderthickness: rect(5,5,5,5);
  282. margin: rect(0,0,7rp,0);
  283. }
  284. element [id=atom(username)]
  285. {
  286. foreground: rgb(239,247,255);
  287. contentalign: endellipsis;
  288. }
  289. button [class="status"]
  290. {
  291. background: argb(0,0,0,0);
  292. foreground: rgb(0,48,156);
  293. fontsize: rcint(IDS_STATUSFONTSIZE) pt;
  294. fontweight: bold;
  295. contentalign: wrapleft;
  296. }
  297. button [class="status"][mousefocused]
  298. {
  299. fontstyle: underline;
  300. }
  301. button [class="status"][keyfocused]
  302. {
  303. fontstyle: underline;
  304. }
  305. button [class="status"][selected]
  306. {
  307. foreground: rgb(239,247,255);
  308. fontsize: rcint(IDS_STATUSFONTSIZE) pt;
  309. fontweight: bold;
  310. }
  311. </style>
  312. <style resid=passwordpaness>
  313. element
  314. {
  315. background: argb(0,0,0,0);
  316. }
  317. element [id=atom(passwordpanelayer)]
  318. {
  319. padding: rect(71rp,0,0,0);
  320. }
  321. element [id=atom(instruct)]
  322. {
  323. fontface: rcstr(IDS_HELPFONT);
  324. fontsize: rcint(IDS_PWINSTRUCTFONTSIZE) pt;
  325. foreground: white;
  326. padding: rect(3rp,0,0,3rp);
  327. }
  328. edit [id=atom(password)]
  329. {
  330. background: rcbmp(IDB_EDITFRAME,6,#FF00FF,0,0,1,0);
  331. borderthickness: rect(3,3,5,5);
  332. passwordcharacter: 9679;
  333. fontface: "arial";
  334. fontsize: 16pt;
  335. }
  336. button [id=atom(go)]
  337. {
  338. margin: rect(5rp,0,0,0);
  339. content: rcbmp(IDB_GO,3,-1,26rp,26rp,0,0);
  340. padding: rect(0rp,1rp,0,1rp);
  341. }
  342. button [id=atom(go)][keyfocused]
  343. {
  344. content: rcbmp(IDB_GOKF,3,-1,26rp,26rp,0,0);
  345. }
  346. button [id=atom(info)]
  347. {
  348. margin: rect(5rp,0,0,0);
  349. content: rcbmp(IDB_INFO,3,-1,28rp,28rp,0,0);
  350. }
  351. button [id=atom(info)][keyfocused]
  352. {
  353. content: rcbmp(IDB_INFOKF,3,-1,28rp,28rp,0,0);
  354. }
  355. element [id=atom(keyboard)]
  356. {
  357. cursor: arrow;
  358. margin: rect(5rp,0,0,0);
  359. }
  360. </style>
  361. <style resid=scroller>
  362. scrollbar
  363. {
  364. layoutpos: ninebottom;
  365. }
  366. scrollbar [vertical]
  367. {
  368. layoutpos: nineright;
  369. }
  370. viewer
  371. {
  372. layoutpos: nineclient;
  373. }
  374. thumb
  375. {
  376. background: dtb(handlemap(SCROLLBARHTHEME), SBP_THUMBBTNVERT, SCRBS_NORMAL);
  377. content: dtb(handlemap(SCROLLBARHTHEME), SBP_GRIPPERVERT, SCRBS_NORMAL);
  378. contentalign: middlecenter;
  379. }
  380. thumb [mousefocused]
  381. {
  382. background: dtb(handlemap(SCROLLBARHTHEME), SBP_THUMBBTNVERT, SCRBS_HOT);
  383. content: dtb(handlemap(SCROLLBARHTHEME), SBP_GRIPPERVERT, SCRBS_HOT);
  384. }
  385. thumb [captured]
  386. {
  387. background: dtb(handlemap(SCROLLBARHTHEME), SBP_THUMBBTNVERT, SCRBS_PRESSED);
  388. content: dtb(handlemap(SCROLLBARHTHEME), SBP_GRIPPERVERT, SCRBS_PRESSED);
  389. }
  390. repeatbutton [id=atom(lineup)]
  391. {
  392. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_UPNORMAL);
  393. width: sysmetric(SM_CXVSCROLL);
  394. height: sysmetric(SM_CYVSCROLL);
  395. }
  396. repeatbutton [id=atom(lineup)][mousefocused]
  397. {
  398. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_UPHOT);
  399. }
  400. repeatbutton [id=atom(lineup)][pressed]
  401. {
  402. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_UPPRESSED);
  403. }
  404. repeatbutton [id=atom(linedown)]
  405. {
  406. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_DOWNNORMAL);
  407. width: sysmetric(SM_CXVSCROLL);
  408. height: sysmetric(SM_CYVSCROLL);
  409. }
  410. repeatbutton [id=atom(linedown)][mousefocused]
  411. {
  412. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_DOWNHOT);
  413. }
  414. repeatbutton [id=atom(linedown)][pressed]
  415. {
  416. background: dtb(handlemap(SCROLLBARHTHEME), SBP_ARROWBTN, ABS_DOWNPRESSED);
  417. }
  418. repeatbutton [id=atom(pageup)]
  419. {
  420. background: dtb(handlemap(SCROLLBARHTHEME), SBP_UPPERTRACKVERT, SCRBS_NORMAL);
  421. }
  422. repeatbutton [id=atom(pageup)][mousefocused]
  423. {
  424. background: dtb(handlemap(SCROLLBARHTHEME), SBP_UPPERTRACKVERT, SCRBS_HOT);
  425. }
  426. repeatbutton [id=atom(pageup)][pressed]
  427. {
  428. background: dtb(handlemap(SCROLLBARHTHEME), SBP_UPPERTRACKVERT, SCRBS_PRESSED);
  429. }
  430. repeatbutton [id=atom(pagedown)]
  431. {
  432. background: dtb(handlemap(SCROLLBARHTHEME), SBP_LOWERTRACKVERT, SCRBS_NORMAL);
  433. }
  434. repeatbutton [id=atom(pagedown)][mousefocused]
  435. {
  436. background: dtb(handlemap(SCROLLBARHTHEME), SBP_LOWERTRACKVERT, SCRBS_HOT);
  437. }
  438. repeatbutton [id=atom(pagedown)][pressed]
  439. {
  440. background: dtb(handlemap(SCROLLBARHTHEME), SBP_LOWERTRACKVERT, SCRBS_PRESSED);
  441. }
  442. </style>
  443. //
  444. // Logon frame
  445. //
  446. <logonframe resid=main id=atom(frame) sheet=styleref(framess) layout=borderlayout()>
  447. <element id=atom(toppanel) sheet=styleref(toppanelss) layout=borderlayout() layoutpos=top height=80rp>
  448. <element id=atom(divider) layoutpos=bottom height=2rp/>
  449. </element>
  450. <element id=atom(bottompanel) sheet=styleref(bottompanelss) layout=borderlayout() layoutpos=bottom>
  451. <element id=atom(divider) layoutpos=top height=2rp/>
  452. <element id=atom(options) layout=borderlayout() layoutpos=client>
  453. <element layout=borderlayout() layoutpos=left>
  454. <button id=atom(power) layout=borderlayout() layoutpos=top accessible=true accRole=43 accName=rcstr(IDS_POWER)>
  455. <element layoutpos=left content=rcbmp(IDB_POWER,3,-1,26rp,26rp,0,0) />
  456. <element id=atom(label) layoutpos=client margin=rect(2rp,0,0,0)/>
  457. </button>
  458. <button id=atom(undock) layout=borderlayout() layoutpos=top margin=rect(0,2rp,0,0) accessible=true accRole=43 accName=rcstr(IDS_UNDOCK)>
  459. <element layoutpos=left content=rcbmp(IDB_UNDOCK,3,-1,26rp,26rp,0,0)/>
  460. <element id=atom(label) layoutpos=client margin=rect(2rp,0,0,0)/>
  461. </button>
  462. </element>
  463. <element id=atom(instruct) layoutpos=right content=rcstr(IDS_MANAGEACCOUNTS) width=325rp/>
  464. </element>
  465. </element>
  466. <element id=atom(contentcontainer) layout=flowlayout(1,3,2,3) layoutpos=client content=rcbmp(IDB_BACKGROUND,0,0,219rp,207rp,1,0)>
  467. <element id=atom(leftpanel) sheet=styleref(leftpanelss) layout=filllayout() layoutpos=left>
  468. <element id=atom(logoarea) layout=verticalflowlayout(0,3,3,2)>
  469. <element id=atom(product) contentalign=topright padding=rect(0rp,0rp,20rp,20rp) content=rcbmp(IDB_PRODUCTNAME,3,-1,137,86,0,0) background=rgb(90,126,220)/>
  470. <element id=atom(help) contentalign=wrapright width=384rp padding=rect(0rp,0rp,40rp,0rp)/>
  471. </element>
  472. <element id=atom(msgarea) layout=verticalflowlayout(0,0,0,2) >
  473. <element layout=filllayout() width=384rp>
  474. <element id=atom(welcomeshadow) content=rcstr(IDS_WELCOME)/>
  475. <element id=atom(welcome) content=rcstr(IDS_WELCOME)/>
  476. </element>
  477. </element>
  478. </element>
  479. <element id=atom(rightpanel) sheet=styleref(rightpanelss) layout=borderlayout() layoutpos=left width=384rp>
  480. <element id=atom(divider) layoutpos=left width=1rp/>
  481. <scrollviewer id=atom(scroller) sheet=styleref(scroller) layoutpos=client xscrollable=false margin=rect(26rp,0rp,0rp,0rp)>
  482. <selector id=atom(accountlist) sheet=styleref(accountlistss) layout=verticalflowlayout(0,3,3,2)/>
  483. </scrollviewer>
  484. </element>
  485. </element>
  486. </logonframe>
  487. //
  488. // Logon Account
  489. //
  490. <logonaccount resid=accountitem id=atom(accountitem) layout=filllayout() accessible=true accRole=43>
  491. <element id=atom(userpanelayer) layout=borderlayout() height=80rp>
  492. <element id=atom(userpane) layout=borderlayout() layoutpos=top>
  493. <element id=atom(pictureframe) layout=flowlayout(0,2,2) layoutpos=left width=58rp height=58rp>
  494. <element id=atom(picture) />
  495. </element>
  496. <element id=atom(username) layoutpos=top/>
  497. <button id=atom(status0) class="status" layoutpos=none/>
  498. <button id=atom(status1) class="status" layoutpos=none/>
  499. </element>
  500. </element>
  501. </logonaccount>
  502. //
  503. // Password pane
  504. //
  505. <element resid=passwordpanel id=atom(passwordpanelayer) sheet=styleref(passwordpaness) layout=borderlayout() height=80rp>
  506. <element layout=borderlayout() layoutpos=bottom>
  507. <edit id=atom(password) layoutpos=left width=163rp/>
  508. <element id=atom(keyboard) layoutpos=left/>
  509. <button id=atom(go) layoutpos=left accessible=true accRole=43 accName= rcstr(IDS_ACDSC_PWD)/>
  510. <button id=atom(info) layoutpos=left accessible=true accRole=43 accName= rcstr(IDS_PASSWORDHINTTITLE)/>
  511. </element>
  512. <element id=atom(instruct) layoutpos=bottom content=rcstr(IDS_TYPEPASSWORD)/>
  513. </element>