home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 27 / IOPROG_27.ISO / SOFT / BUTTON0.ZIP / VB6Bo.ctl < prev    next >
Encoding:
Text File  |  1999-05-19  |  8.2 KB  |  371 lines

  1. VERSION 5.00
  2. Begin VB.UserControl VB6Bo 
  3.    AutoRedraw      =   -1  'True
  4.    ClientHeight    =   3600
  5.    ClientLeft      =   0
  6.    ClientTop       =   0
  7.    ClientWidth     =   4800
  8.    FillStyle       =   0  'Solid
  9.    MouseIcon       =   "VB6Bo.ctx":0000
  10.    MousePointer    =   99  'Custom
  11.    ScaleHeight     =   3600
  12.    ScaleWidth      =   4800
  13.    ToolboxBitmap   =   "VB6Bo.ctx":0152
  14.    Begin VB.Timer Timer2 
  15.       Enabled         =   0   'False
  16.       Interval        =   100
  17.       Left            =   1395
  18.       Top             =   2250
  19.    End
  20.    Begin VB.Timer Timer1 
  21.       Enabled         =   0   'False
  22.       Interval        =   75
  23.       Left            =   3960
  24.       Top             =   2520
  25.    End
  26.    Begin VB.Label OA 
  27.       AutoSize        =   -1  'True
  28.       BackStyle       =   0  'Transparent
  29.       Caption         =   "VB6ButtonO"
  30.       BeginProperty Font 
  31.          Name            =   "Comic Sans MS"
  32.          Size            =   9
  33.          Charset         =   0
  34.          Weight          =   400
  35.          Underline       =   0   'False
  36.          Italic          =   0   'False
  37.          Strikethrough   =   0   'False
  38.       EndProperty
  39.       Height          =   255
  40.       Left            =   1980
  41.       TabIndex        =   0
  42.       Top             =   1140
  43.       Width           =   1065
  44.    End
  45. End
  46. Attribute VB_Name = "VB6Bo"
  47. Attribute VB_GlobalNameSpace = False
  48. Attribute VB_Creatable = True
  49. Attribute VB_PredeclaredId = False
  50. Attribute VB_Exposed = True
  51. Event Click()
  52. Event MuoviMouse()
  53. Public BordiCreati As Boolean
  54.  
  55. Private Function eDentro() As Boolean
  56.     Dim ptMouse As POINTAPI
  57.  
  58.     GetCursorPos ptMouse
  59.     If (WindowFromPoint(ptMouse.X, ptMouse.Y) = UserControl.hWnd) Then
  60.         eDentro = True
  61.     Else
  62.         eDentro = False
  63.     End If
  64.  
  65. End Function
  66.  
  67. Public Sub CreaBordi(Colore)
  68. UserControl.Cls
  69. BordiCreati1 = False
  70.  
  71. dx = UserControl.Width
  72. dy = UserControl.Height
  73.  
  74. OA.Left = dx / 2 - OA.Width / 2
  75. OA.Top = dy / 2 - OA.Height / 2
  76.  
  77. X1 = dx / 8
  78. Y1 = dy / 8
  79. X2 = dx - X1
  80. Y2 = Y1
  81. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore)
  82. X1 = dx / 8
  83. Y1 = dy - dy / 8
  84. X2 = dx - X1
  85. Y2 = Y1
  86. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore)
  87. xc = dx / 8
  88. yc = dy / 2
  89. r = (dy - 2 * dy / 8) / 2
  90. pi = 3.14
  91. UserControl.Circle (xc, yc), r, QBColor(Colore), pi / 2, 3 / 2 * pi
  92. xc = dx - dx / 8
  93. yc = dy / 2
  94. r = (dy - 2 * dy / 8) / 2
  95. pi = 3.14
  96. UserControl.Circle (xc, yc), r, QBColor(Colore), 0, pi / 2
  97. UserControl.Circle (xc, yc), r, QBColor(Colore), 3 / 2 * pi, 2 * pi
  98.  
  99. End Sub
  100. Public Sub CreaBordi_(Colore)
  101. UserControl.Cls
  102. BordiCreati = False
  103.  
  104. dx = UserControl.Width
  105. dy = UserControl.Height
  106.  
  107. OA.Left = dx / 2 - OA.Width / 2
  108. OA.Top = dy / 2 - OA.Height / 2
  109.  
  110. X1 = dx / 8
  111. Y1 = dy / 8
  112. X2 = dx - X1
  113. Y2 = Y1
  114. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore)
  115. X1 = dx / 8
  116. Y1 = dy - dy / 8
  117. X2 = dx - X1
  118. Y2 = Y1
  119. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore)
  120. xc = dx / 8
  121. yc = dy / 2
  122. r = (dy - 2 * dy / 8) / 2
  123. pi = 3.14
  124. UserControl.Circle (xc, yc), r, QBColor(Colore), pi / 2, 3 / 2 * pi
  125. xc = dx - dx / 8
  126. yc = dy / 2
  127. r = (dy - 2 * dy / 8) / 2
  128. pi = 3.14
  129. UserControl.Circle (xc, yc), r, QBColor(Colore), 0, pi / 2
  130. UserControl.Circle (xc, yc), r, QBColor(Colore), 3 / 2 * pi, 2 * pi
  131.  
  132. End Sub
  133.  
  134. Public Sub CreaBordiSup(Colore1, Colore2, Colore3)
  135. UserControl.Cls
  136. BordiCreati1 = True
  137.  
  138. dx = UserControl.Width
  139. dy = UserControl.Height
  140. OA.Left = dx / 2 - OA.Width / 2
  141. OA.Top = dy / 2 - OA.Height / 2
  142. X1 = dx / 8
  143. Y1 = dy / 8
  144. X2 = dx - X1
  145. Y2 = Y1
  146. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore1)
  147. X1 = dx / 8
  148. Y1 = dy - dy / 8
  149. X2 = dx - X1
  150. Y2 = Y1
  151. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore3)
  152. xc = dx / 8
  153. yc = dy / 2
  154. r = (dy - 2 * dy / 8) / 2
  155. pi = 3.14
  156. UserControl.Circle (xc, yc), r, QBColor(Colore1), pi / 2, pi
  157. UserControl.Circle (xc, yc), r, QBColor(Colore2), pi, 3 / 2 * pi
  158. xc = dx - dx / 8
  159. yc = dy / 2
  160. r = (dy - 2 * dy / 8) / 2
  161. pi = 3.14
  162. UserControl.Circle (xc, yc), r, QBColor(Colore2), 0, pi / 2
  163. UserControl.Circle (xc, yc), r, QBColor(Colore3), 3 / 2 * pi, 2 * pi
  164.  
  165.  
  166. '---------------------
  167. dx = 100# / 100 * UserControl.Width
  168. dy = 101.2 / 100 * UserControl.Height
  169. OA.Left = dx / 2 - OA.Width / 2
  170. OA.Top = dy / 2 - OA.Height / 2
  171. X1 = dx / 8
  172. Y1 = dy / 8
  173. X2 = dx - X1
  174. Y2 = Y1
  175. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore1)
  176. X1 = dx / 8
  177. Y1 = dy - dy / 8
  178. X2 = dx - X1
  179. Y2 = Y1
  180. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore3)
  181. xc = dx / 8
  182. yc = dy / 2
  183. r = (dy - 2 * dy / 8) / 2
  184. pi = 3.14
  185. UserControl.Circle (xc, yc), r, QBColor(Colore1), pi / 2, pi
  186. UserControl.Circle (xc, yc), r, QBColor(Colore2), pi, 3 / 2 * pi
  187. xc = dx - dx / 8
  188. yc = dy / 2
  189. r = (dy - 2 * dy / 8) / 2
  190. pi = 3.14
  191. UserControl.Circle (xc, yc), r, QBColor(Colore2), 0, pi / 2
  192. UserControl.Circle (xc, yc), r, QBColor(Colore3), 3 / 2 * pi, 2 * pi
  193.  
  194.  
  195. End Sub
  196. Public Sub CreaBordiSup_(Colore1, Colore2, Colore3)
  197. UserControl.Cls
  198. BordiCreati = True
  199.  
  200. dx = UserControl.Width
  201. dy = UserControl.Height
  202.  
  203. OA.Left = dx / 2 - OA.Width / 2 + dx / 100
  204. OA.Top = dy / 2 - OA.Height / 2 + dy / 50
  205.  
  206. X1 = dx / 8
  207. Y1 = dy / 8
  208. X2 = dx - X1
  209. Y2 = Y1
  210. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore2)
  211. X1 = dx / 8
  212. Y1 = dy - dy / 8
  213. X2 = dx - X1
  214. Y2 = Y1
  215. UserControl.Line (X1, Y1)-(X2, Y2), QBColor(Colore3)
  216. xc = dx / 8
  217. yc = dy / 2
  218. r = (dy - 2 * dy / 8) / 2
  219. pi = 3.14
  220. UserControl.Circle (xc, yc), r, QBColor(Colore1), pi / 2, pi
  221. UserControl.Circle (xc, yc), r, QBColor(Colore2), pi, 3 / 2 * pi
  222. xc = dx - dx / 8
  223. yc = dy / 2
  224. r = (dy - 2 * dy / 8) / 2
  225. pi = 3.14
  226. UserControl.Circle (xc, yc), r, QBColor(Colore3), 0, pi / 2
  227. UserControl.Circle (xc, yc), r, QBColor(Colore3), 3 / 2 * pi, 2 * pi
  228.  
  229. End Sub
  230.  
  231. Public Property Get Label() As String
  232.    Label = OA.Caption
  233. End Property
  234. Public Property Let Label(ByVal NuovaLbl As String)
  235.    OA.Caption = NuovaLbl
  236.    PropertyChanged "Label"
  237. End Property
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246. Private Sub OACButton1_Click()
  247.  
  248. End Sub
  249.  
  250. Private Sub CB_Click()
  251.  
  252. End Sub
  253.  
  254. Private Sub Image1_Click()
  255.  
  256. End Sub
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263. Private Sub OA_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  264.     If Tempo <> 0 Then Exit Sub
  265.     Timer1.Enabled = True
  266.  
  267. End Sub
  268.  
  269. Private Sub OA_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  270. If Tempo <> 0 Then
  271.     Exit Sub
  272. End If
  273.  
  274. Timer2.Enabled = True
  275. RaiseEvent MuoviMouse
  276.  
  277. End Sub
  278.  
  279.  
  280. Private Sub Timer1_Timer()
  281. Tempo = Tempo + 1
  282. If Not BordiCreati Then
  283.     CreaBordiSup_ 15, 15, 15
  284. Else
  285.     CreaBordi_ 0
  286. End If
  287. If Tempo = 6 Then
  288.     CreaBordi 8
  289.     OA.FontBold = False
  290.     Tempo = 0
  291.     Timer1.Enabled = False
  292.     RaiseEvent Click
  293.  
  294. End If
  295.  
  296. End Sub
  297.  
  298. Private Sub Timer2_Timer()
  299. If eDentro Then
  300.     'mouse dentro
  301.     If Not OA.FontBold Then OA.FontBold = True
  302.     If Not BordiCreati1 Then CreaBordiSup 15, 8, 0
  303. Else
  304.     'mouse fuori
  305.     OA.FontBold = False
  306.     CreaBordi 8
  307.     Timer2.Enabled = False
  308. End If
  309.  
  310. End Sub
  311.  
  312. Private Sub UserControl_InitProperties()
  313. Tempo = 0
  314. Timer1.Enabled = False
  315. Timer2.Enabled = False
  316.  
  317. End Sub
  318.  
  319. Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  320.     If Tempo <> 0 Then Exit Sub
  321.     Timer1.Enabled = True
  322. End Sub
  323.  
  324. Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  325. If Tempo <> 0 Then
  326.     Exit Sub
  327. End If
  328.  
  329. Timer2.Enabled = True
  330. RaiseEvent MuoviMouse
  331. End Sub
  332.  
  333. Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  334. Label = PropBag.ReadProperty("Label", "")
  335.  
  336. End Sub
  337.  
  338. Private Sub UserControl_Resize()
  339. On Error Resume Next
  340. UserControl.Picture = UserControl.Extender.Container.Picture
  341. UserControl.Refresh
  342. CreaBordi 8
  343.  
  344. 'dx = UserControl.ScaleWidth / Screen.TwipsPerPixelX
  345. 'dy = UserControl.ScaleHeight / Screen.TwipsPerPixelY
  346. 'X1 = dx / 8
  347. 'Y1 = dy / 8
  348. 'X2 = dx - X1
  349. 'Y2 = dy - Y1
  350. 'X3 = X2 / 2
  351. 'Y3 = Y2 / 2
  352. 're = CreateRoundRectRgn(X1, Y1, X2, Y2, X3, Y3)
  353. 'cr = SetWindowRgn(UserControl.hWnd, re, SRCCOPY)
  354.  
  355. End Sub
  356.  
  357. Private Sub UserControl_Show()
  358. On Error Resume Next
  359. UserControl.BackColor = UserControl.Ambient.BackColor
  360. UserControl.Refresh
  361. CreaBordi 8
  362.  
  363. End Sub
  364.  
  365.  
  366. Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  367. PropBag.WriteProperty "Label", Label, ""
  368. End Sub
  369.  
  370.  
  371.