uo_tlbar_button.sru 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631
  1. $PBExportHeader$uo_tlbar_button.sru
  2. $PBExportComments$ToolBar 用户对象
  3. forward
  4. global type uo_tlbar_button from userobject
  5. end type
  6. type plb_1 from picturelistbox within uo_tlbar_button
  7. end type
  8. type ln_bottom from line within uo_tlbar_button
  9. end type
  10. type ln_top from line within uo_tlbar_button
  11. end type
  12. type ln_left from line within uo_tlbar_button
  13. end type
  14. type ln_right from line within uo_tlbar_button
  15. end type
  16. type st_caption from statictext within uo_tlbar_button
  17. end type
  18. type rect from structure within uo_tlbar_button
  19. end type
  20. end forward
  21. type rect from structure
  22. long left
  23. long top
  24. long right
  25. long bottom
  26. end type
  27. shared variables
  28. nvo_tltips inv_tltips
  29. end variables
  30. global type uo_tlbar_button from userobject
  31. integer width = 320
  32. integer height = 212
  33. long backcolor = 80269524
  34. long tabtextcolor = 33554432
  35. long picturemaskcolor = 536870912
  36. event ue_lbuttonup pbm_lbuttonup
  37. event ue_lbuttondown pbm_lbuttondown
  38. event ue_mousemove pbm_mousemove
  39. event clicked ( )
  40. event ue_paint pbm_paint
  41. plb_1 plb_1
  42. ln_bottom ln_bottom
  43. ln_top ln_top
  44. ln_left ln_left
  45. ln_right ln_right
  46. st_caption st_caption
  47. end type
  48. global uo_tlbar_button uo_tlbar_button
  49. type prototypes
  50. FUNCTION ulong SetCapture(ulong hwnd) library "user32.dll"
  51. FUNCTION boolean ReleaseCapture() library "user32.dll"
  52. FUNCTION ulong SleepEx(ulong dwMilliseconds,ulong bAlertable) LIBRARY "kernel32.dll"
  53. FUNCTION ulong DrawFocusRect(ulong hdc,ref RECT lpRect) LIBRARY "user32.dll" alias for "DrawFocusRect;Ansi"
  54. FUNCTION ulong SetRect(ref RECT lpRect,ulong X1,ulong Y1,ulong X2,ulong Y2) LIBRARY "user32.dll" alias for "SetRect;Ansi"
  55. FUNCTION ulong GetDC(ulong hwnd) LIBRARY "user32.dll"
  56. FUNCTION ulong DrawText(ulong hdc,ref string lpStr,ulong nCount,ref RECT lpRect,ulong wFormat) LIBRARY "user32.dll" ALIAS FOR "DrawTextA;Ansi"
  57. FUNCTION ulong SelectObject(ulong hdc,ulong hObject) LIBRARY "gdi32.dll"
  58. FUNCTION ulong SetTextColor(ulong hdc,ulong crColor) LIBRARY "gdi32.dll"
  59. FUNCTION ulong GetSysColor(ulong nIndex) LIBRARY "user32.dll"
  60. FUNCTION ulong SetBkColor(ulong hdc,ulong crColor) LIBRARY "gdi32.dll"
  61. FUNCTION ulong SetBkMode(ulong hdc,ulong nBkMode) LIBRARY "gdi32.dll"
  62. FUNCTION ulong DeleteObject(ulong hObject) LIBRARY "gdi32.dll"
  63. //获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景
  64. FUNCTION ulong GetWindowDC(ulong hwnd) LIBRARY "user32.dll"
  65. //创建一幅与设备有关位图,它与指定的设备场景兼容
  66. FUNCTION ulong CreateCompatibleBitmap(ulong hdc,ulong nWidth,ulong nHeight) LIBRARY "gdi32.dll"
  67. //创建一个与特定设备场景一致的内存设备场景
  68. FUNCTION ulong CreateCompatibleDC(ulong hdc) LIBRARY "gdi32.dll"
  69. //这个函数可为一幅图象或绘图操作应用各式各样的效果(绘图片的浮雕状态)
  70. FUNCTION boolean DrawState(ulong hDC,ulong hBrush,ulong lpDrawStateProc,ulong lParam,ulong wParam,ulong n1,ulong n2,ulong n3,ulong n4,ulong un) LIBRARY "user32.dll" ALIAS FOR "DrawStateA"
  71. //删除专用设备场景或信息场景,释放所有相关窗口资源
  72. FUNCTION ulong DeleteDC(ulong hdc) LIBRARY "gdi32.dll"
  73. //释放由调用GetDC或GetWindowDC函数获取的指定设备场景
  74. FUNCTION ulong ReleaseDC(ulong hwnd,ulong hdc) LIBRARY "user32.dll"
  75. end prototypes
  76. type variables
  77. Public:
  78. protectedwrite string class_name = 'uo_tlbar_button'
  79. string ButtonText =''
  80. string ButtonType='Normal' //Normal,Checked,RadioButton
  81. string ToolTip = ''
  82. string Picture_Name =''
  83. integer Picture_Size = 16 //16,24
  84. string TextAlign ='Right' //Right,Bottom,None
  85. integer RadioGroup = 0
  86. boolean Checked = False
  87. Protected:
  88. window iw_parent
  89. uo_tlbar iuo_parent
  90. boolean ib_Captured
  91. boolean ib_clicked
  92. boolean ChildMenu
  93. boolean ib_mousein
  94. menu im_menuid
  95. Private:
  96. integer ii_charwidth = 28
  97. integer ii_minwidth = 240
  98. integer ii_minheight = 110
  99. integer ii_poffsetx,ii_poffsety,ii_coffsetx,ii_coffsety
  100. integer ii_px,ii_py,ii_cx,ii_cy
  101. //Constant Variables
  102. CONSTANT LONG TRANSPARENT = 1
  103. CONSTANT LONG COLOR_BTNHIGHLIGHT = 20
  104. CONSTANT LONG COLOR_BTNSHADOW = 16
  105. CONSTANT ULONG DT_CENTER = 1
  106. constant long WM_PAINT = 15
  107. Constant ulong DST_BITMAP = 4 //&H4 位图
  108. Constant ulong DSS_DISABLED = 32 //&H20 图象具有浮雕效果
  109. end variables
  110. forward prototypes
  111. public subroutine of_buttontext (string as_text)
  112. public subroutine of_setstyle (string as_style)
  113. public subroutine of_settooltip (string as_tltip)
  114. public subroutine of_setpicture (string as_picture)
  115. public subroutine of_setpicturesize (integer ai_size)
  116. public subroutine of_setalign (string as_align)
  117. public subroutine of_setsize ()
  118. public subroutine of_checked ()
  119. public subroutine of_drawbutton (string as_type)
  120. public subroutine of_getparentwindow ()
  121. public subroutine of_setposition ()
  122. public subroutine of_enabled (boolean ab_enabled)
  123. public subroutine of_drawdisabled ()
  124. public subroutine of_setgroup (integer ai_groupid)
  125. public subroutine of_setmenu (menu am_menu)
  126. public subroutine of_setparent (readonly uo_tlbar auo_parent)
  127. public function menu of_getmenu ()
  128. end prototypes
  129. event ue_lbuttonup;IF NOT ib_clicked THEN RETURN
  130. ib_clicked = false
  131. ib_captured = false
  132. IF ((XPos<0 or YPos<0) or (XPos>=this.Width or YPos>this.Height)) THEN
  133. ReleaseCapture()
  134. of_drawbutton('Flat')
  135. ELSE
  136. IF ButtonType = 'Checked' THEN of_checked()
  137. IF ButtonType = 'RadioButton' AND (NOT Checked) THEN of_checked()
  138. of_drawbutton('Flat')
  139. this.triggerevent("clicked")
  140. END IF
  141. end event
  142. event ue_lbuttondown;IF ib_clicked THEN RETURN
  143. ib_clicked = true
  144. ib_captured = false
  145. of_drawbutton('Down')
  146. end event
  147. event ue_mousemove;IF NOT ib_Captured THEN
  148. SetCapture(handle(this))
  149. ib_Captured=true
  150. ib_mousein = true
  151. IF NOT ib_clicked THEN
  152. of_drawbutton('Up')
  153. END IF
  154. inv_tltips.relaymsg(this)
  155. ELSE
  156. IF ((XPos<0 or YPos<0) or (XPos>=this.Width or YPos>this.Height)) THEN
  157. IF NOT ib_clicked THEN
  158. ib_Captured = false
  159. ReleaseCapture()
  160. END IF
  161. IF ib_mousein THEN
  162. of_drawbutton('Flat')
  163. ib_mousein = false
  164. END IF
  165. ELSE
  166. IF NOT ib_mousein THEN
  167. ib_mousein =true
  168. IF ib_clicked THEN
  169. of_drawbutton('Down')
  170. ELSE
  171. of_drawbutton('Flat')
  172. END IF
  173. END IF
  174. inv_tltips.relaymsg(this)
  175. END IF
  176. END IF
  177. end event
  178. event clicked;IF isvalid(im_menuid) THEN
  179. IF ButtonType = 'Checked' THEN
  180. im_menuid.checked = Checked
  181. END IF
  182. im_menuid.event clicked()
  183. END IF
  184. end event
  185. event ue_paint;IF NOT this.enabled THEN
  186. of_drawdisabled()
  187. END IF
  188. end event
  189. public subroutine of_buttontext (string as_text);st_caption.text = as_text
  190. ButtonText = as_text
  191. end subroutine
  192. public subroutine of_setstyle (string as_style);IF pos('Checked;RadioButton;',as_style)>0 THEN
  193. ButtonType = as_style
  194. ELSE
  195. ButtonType = 'Normal'
  196. END IF
  197. end subroutine
  198. public subroutine of_settooltip (string as_tltip);ToolTip = as_tltip
  199. inv_tltips.AddTool(this,as_tltip,0)
  200. end subroutine
  201. public subroutine of_setpicture (string as_picture);IF as_picture = '' THEN RETURN
  202. Picture_Name = as_Picture
  203. plb_1.reset()
  204. plb_1.deletepicture(1)
  205. plb_1.addpicture(as_picture)
  206. plb_1.additem(' ',1)
  207. end subroutine
  208. public subroutine of_setpicturesize (integer ai_size);IF ai_size =24 THEN
  209. Picture_Size = 24
  210. ELSE
  211. Picture_Size = 16
  212. END IF
  213. end subroutine
  214. public subroutine of_setalign (string as_align);IF as_align = TextAlign THEN RETURN
  215. IF pos('None;Right;',as_align)>0 THEN
  216. TextAlign = as_align
  217. ELSE
  218. TextAlign = 'Bottom'
  219. END IF
  220. of_setsize()
  221. of_setposition()
  222. IF checked THEN
  223. of_drawbutton('Down')
  224. END IF
  225. end subroutine
  226. public subroutine of_setsize ();st_caption.height = 52
  227. st_caption.width = len(ButtonText) * ii_charwidth
  228. plb_1.width = PixelsToUnits(Picture_Size,XPixelstoUnits!)
  229. plb_1.height = PixelsToUnits(Picture_Size,YPixelstoUnits!)
  230. plb_1.pictureheight = Picture_Size
  231. plb_1.picturewidth = Picture_Size
  232. CHOOSE CASE TextAlign
  233. CASE 'Bottom'
  234. this.height = st_caption.height + plb_1.height + 50
  235. IF st_caption.width >= plb_1.width THEN
  236. this.width = st_caption.width + 30
  237. ELSE
  238. this.width = plb_1.width + 30
  239. END IF
  240. CASE 'Right'
  241. this.width = st_caption.width + plb_1.width + 90
  242. IF st_caption.height >= plb_1.height THEN
  243. this.height = st_caption.height + 30
  244. ELSE
  245. this.height = plb_1.height + 30
  246. END IF
  247. CASE 'None'
  248. this.width = plb_1.width + 40
  249. this.height = plb_1.height + 40
  250. RETURN
  251. END CHOOSE
  252. IF this.width < ii_minwidth THEN this.width = ii_minwidth
  253. IF this.height < ii_minheight THEN this.height = ii_minheight
  254. end subroutine
  255. public subroutine of_checked ();classdefinition lcd_classinfo
  256. variabledefinition lvd_classinfo
  257. userobject us_tmp
  258. uo_tlbar_button us_tmp_r
  259. IF ButtonType = 'Checked' THEN
  260. Checked = not Checked
  261. IF Checked THEN
  262. of_drawbutton('Down')
  263. ELSE
  264. of_drawbutton('Flat')
  265. END IF
  266. ELSE
  267. IF ButtonType = 'RadioButton' THEN
  268. IF Checked THEN
  269. Checked = false
  270. of_drawbutton('Flat')
  271. ELSE
  272. Checked = True
  273. integer in_loop
  274. FOR in_loop = 1 TO upperbound(iuo_parent.iuo_buttons)
  275. us_tmp_r = iuo_parent.iuo_buttons[in_loop]
  276. IF us_tmp_r.RadioGroup = this.RadioGroup AND us_tmp_r.Checked &
  277. AND handle(us_tmp_r) <> handle(this)THEN
  278. us_tmp_r.of_Checked()
  279. EXIT
  280. END IF
  281. NEXT
  282. END IF
  283. END IF
  284. END IF
  285. end subroutine
  286. public subroutine of_drawbutton (string as_type);CHOOSE CASE as_type
  287. CASE 'Down'
  288. ln_top.linecolor = rgb(128,128,128)
  289. ln_left.linecolor = rgb(128,128,128)
  290. ln_bottom.linecolor =rgb(255,255,255)
  291. ln_right.linecolor =rgb(255,255,255)
  292. plb_1.x = ii_poffsetx
  293. plb_1.y = ii_poffsety
  294. st_caption.x = ii_coffsetx
  295. st_caption.y = ii_coffsety
  296. CASE 'Flat'
  297. IF checked THEN RETURN
  298. ln_top.linecolor = this.backcolor
  299. ln_left.linecolor = this.backcolor
  300. ln_bottom.linecolor = this.backcolor
  301. ln_right.linecolor = this.backcolor
  302. plb_1.x = ii_px
  303. plb_1.y = ii_py
  304. st_caption.x = ii_cx
  305. st_caption.y = ii_cy
  306. CASE 'Up'
  307. IF checked THEN Return
  308. ln_top.linecolor = rgb(255,255,255)
  309. ln_left.linecolor = rgb(255,255,255)
  310. ln_bottom.linecolor =rgb(128,128,128)
  311. ln_right.linecolor =rgb(128,128,128)
  312. plb_1.x = ii_px
  313. plb_1.y = ii_py
  314. st_caption.x = ii_cx
  315. st_caption.y = ii_cy
  316. END CHOOSE
  317. end subroutine
  318. public subroutine of_getparentwindow ();powerobject lpo_tmp
  319. userobject luo_tmp
  320. lpo_tmp = this.getparent()
  321. DO While lpo_tmp.typeof() <> Window!
  322. luo_tmp = lpo_tmp
  323. lpo_tmp= luo_tmp.getparent()
  324. LOOP
  325. iw_parent = lpo_tmp
  326. end subroutine
  327. public subroutine of_setposition ();CHOOSE CASE TextAlign
  328. CASE 'None'
  329. st_caption.visible = false
  330. plb_1.x = (this.width - plb_1.width)/2 + 5
  331. plb_1.y = (this.height - plb_1.height)/2 + 5
  332. CASE 'Bottom'
  333. st_caption.visible = true
  334. plb_1.x = (this.width - plb_1.width)/2
  335. plb_1.y = (this.height - plb_1.height - st_caption.height)/2
  336. st_caption.x = (this.width - st_caption.width)/2
  337. st_caption.y = plb_1.y + plb_1.height + 10
  338. CASE 'Right'
  339. st_caption.visible = true
  340. plb_1.x = (this.width - plb_1.width)/2 - (st_caption.width/2) - 20
  341. plb_1.y = (this.height - plb_1.height)/2
  342. st_caption.x = plb_1.x + plb_1.width + 30
  343. st_caption.y = (this.height - st_caption.height ) / 2
  344. END CHOOSE
  345. ii_px = plb_1.x
  346. ii_py = plb_1.y
  347. ii_cx = st_caption.x
  348. ii_cy = st_caption.y
  349. ii_poffsetx = ii_px + 5
  350. ii_poffsety = ii_py + 5
  351. ii_coffsetx = ii_cx + 5
  352. ii_coffsety = ii_cy + 5
  353. ln_top.beginy = 2
  354. ln_top.endy = 2
  355. ln_top.beginx = 3
  356. ln_top.endx = this.width - 3
  357. ln_bottom.beginx = ln_top.beginx
  358. ln_bottom.endx = this.width - 3
  359. ln_bottom.beginy = this.height - 4
  360. ln_bottom.endy = this.height - 4
  361. ln_left.beginx = ln_top.beginx
  362. ln_left.endx = ln_top.beginx
  363. ln_left.beginy = ln_top.beginy
  364. ln_left.endy = this.height - 4
  365. ln_right.beginy = ln_left.beginy
  366. ln_right.endy = this.height
  367. ln_right.beginx = this.width - 4
  368. ln_right.endx = this.width - 4
  369. end subroutine
  370. public subroutine of_enabled (boolean ab_enabled);this.enabled = ab_enabled
  371. IF this.enabled THEN
  372. st_caption.textcolor = 0
  373. setredraw(true)
  374. ELSE
  375. st_caption.textcolor = rgb(128,128,128)
  376. of_drawdisabled()
  377. END IF
  378. end subroutine
  379. public subroutine of_drawdisabled ();//====================================================================
  380. // Function - of_drawtext for uo_tlbutton
  381. //--------------------------------------------------------------------
  382. // Description: draw normal(enabled) or gray(disabled) text
  383. // on the st_caption control by judging the
  384. // toolbutton is enabled or disabled.
  385. //--------------------------------------------------------------------
  386. // Arguments:
  387. //
  388. // string as_text menu text
  389. //
  390. // boolean ab_enabled button status
  391. //
  392. //--------------------------------------------------------------------
  393. // Returns: (None)
  394. //--------------------------------------------------------------------
  395. // Author: Brave_QQ Date: December, 23, 2002
  396. //====================================================================
  397. ulong ll_hdc
  398. long ll_newfont
  399. long ll_oldfont
  400. rect lstr_text
  401. ll_hdc = GetDC( handle( st_caption ) )
  402. lstr_text.left = 0
  403. lstr_text.top = 0
  404. lstr_text.right = UnitsToPixels( st_caption.width, XUnitsToPixels! )
  405. lstr_text.bottom = UnitsToPixels( st_caption.height, YUnitsToPixels! )
  406. ll_NewFont = Send(Handle(st_caption),49,0,0)
  407. ll_OldFont = SelectObject(ll_hdc , ll_NewFont)
  408. rect lstr_text1
  409. lstr_text1.left = lstr_text.left + 1
  410. lstr_text1.top = lstr_text.top + 1
  411. lstr_text1.right = lstr_text.right + 1
  412. lstr_text1.bottom = lstr_text.bottom + 1
  413. SetBKMode( ll_hdc , TRANSPARENT )
  414. setBKcolor( ll_hdc , st_caption.backcolor )
  415. SetTextColor( ll_hdc , GetSysColor( COLOR_BTNHIGHLIGHT ))
  416. DrawText( ll_hdc , ButtonText , len(ButtonText) , lstr_text1 , DT_CENTER )
  417. SetTextColor( ll_hdc,GetSysColor( COLOR_BTNSHADOW ) )
  418. DrawText( ll_hdc , ButtonText , len(ButtonText) , lstr_text , DT_CENTER )
  419. DeleteObject( ll_oldfont )
  420. ulong Pdc,il_mask,ll_inst,il_bmp
  421. Pdc = GetWindowDC(Handle(plb_1))
  422. SetNull( ll_inst )
  423. plb_1.BackColor = rgb(255,255,255)
  424. ulong hdc, ll_rs = 0, hwnd, ll_memdc, ll_old,lw,lh,ll_bmp
  425. lw = 0
  426. lh = 0
  427. hwnd = handle( plb_1 )
  428. lw = plb_1.picturewidth
  429. lh = plb_1.pictureheight
  430. hdc = GetDC( hwnd )
  431. ll_rs = CreateCompatibleBitmap( hdc, lw, lh )
  432. ll_memdc = CreateCompatibleDC( hdc )
  433. ReleaseDC( hwnd, hdc )
  434. ll_old = SelectObject( ll_memdc, ll_rs )
  435. Send( hwnd, WM_PAINT, ll_memdc, 0 )
  436. ll_bmp = SelectObject( ll_memdc, ll_old )
  437. DeleteObject(ll_old)
  438. Deletedc(ll_memdc)
  439. ReleaseDc(hwnd,hdc)
  440. il_mask = ll_bmp
  441. if il_mask = 0 then return
  442. il_bmp = SelectObject(Pdc,il_mask)
  443. plb_1.BackColor = this.backcolor
  444. DrawState( Pdc, 0, 0, il_mask, 0, 0, 0, 0, 0, DST_BITMAP + DSS_DISABLED)
  445. ReleaseDC(Handle(plb_1),Pdc)
  446. DeleteObject(il_bmp)
  447. DeleteObject(il_mask)
  448. end subroutine
  449. public subroutine of_setgroup (integer ai_groupid);RadioGroup= ai_groupid
  450. end subroutine
  451. public subroutine of_setmenu (menu am_menu);im_menuid = am_menu
  452. end subroutine
  453. public subroutine of_setparent (readonly uo_tlbar auo_parent);iuo_parent = auo_parent
  454. end subroutine
  455. public function menu of_getmenu ();return im_menuid
  456. end function
  457. on uo_tlbar_button.create
  458. this.plb_1=create plb_1
  459. this.ln_bottom=create ln_bottom
  460. this.ln_top=create ln_top
  461. this.ln_left=create ln_left
  462. this.ln_right=create ln_right
  463. this.st_caption=create st_caption
  464. this.Control[]={this.plb_1,&
  465. this.ln_bottom,&
  466. this.ln_top,&
  467. this.ln_left,&
  468. this.ln_right,&
  469. this.st_caption}
  470. end on
  471. on uo_tlbar_button.destroy
  472. destroy(this.plb_1)
  473. destroy(this.ln_bottom)
  474. destroy(this.ln_top)
  475. destroy(this.ln_left)
  476. destroy(this.ln_right)
  477. destroy(this.st_caption)
  478. end on
  479. event constructor;IF ButtonText = '' THEN
  480. of_Buttontext(this.tag)
  481. ELSE
  482. of_Buttontext(ButtonText)
  483. END IF
  484. of_setsize()
  485. of_SetPosition()
  486. of_settooltip(Tooltip)
  487. of_setpicture(Picture_name)
  488. of_drawbutton('Flat')
  489. of_getparentwindow()
  490. of_enabled(this.enabled)
  491. end event
  492. type plb_1 from picturelistbox within uo_tlbar_button
  493. integer x = 119
  494. integer y = 32
  495. integer width = 73
  496. integer height = 64
  497. integer taborder = 10
  498. integer textsize = -9
  499. integer weight = 400
  500. fontcharset fontcharset = ansi!
  501. fontpitch fontpitch = variable!
  502. fontfamily fontfamily = swiss!
  503. string facename = "Tahoma"
  504. long textcolor = 33554432
  505. long backcolor = 80269524
  506. boolean enabled = false
  507. boolean border = false
  508. boolean vscrollbar = true
  509. string picturename[] = {"Structure5!"}
  510. long picturemaskcolor = 12632256
  511. end type
  512. type ln_bottom from line within uo_tlbar_button
  513. long linecolor = 8421504
  514. integer linethickness = 4
  515. integer beginx = 9
  516. integer beginy = 200
  517. integer endx = 315
  518. integer endy = 200
  519. end type
  520. type ln_top from line within uo_tlbar_button
  521. long linecolor = 16777215
  522. integer linethickness = 4
  523. integer beginx = 5
  524. integer endx = 306
  525. end type
  526. type ln_left from line within uo_tlbar_button
  527. long linecolor = 16777215
  528. integer linethickness = 4
  529. integer endy = 200
  530. end type
  531. type ln_right from line within uo_tlbar_button
  532. long linecolor = 8421504
  533. integer linethickness = 4
  534. integer beginx = 306
  535. integer beginy = 4
  536. integer endx = 306
  537. integer endy = 200
  538. end type
  539. type st_caption from statictext within uo_tlbar_button
  540. event ue_paint pbm_paint
  541. integer x = 14
  542. integer y = 112
  543. integer width = 279
  544. integer height = 52
  545. integer textsize = -9
  546. integer weight = 400
  547. fontcharset fontcharset = gb2312charset!
  548. fontpitch fontpitch = variable!
  549. string facename = "宋体"
  550. long textcolor = 33554432
  551. long backcolor = 80269524
  552. boolean enabled = false
  553. boolean focusrectangle = false
  554. end type