home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / My_DLL(upd20886610272007.psc / EazyDtAcc+NewMsgBox / DLL / MyButton.ctl < prev   
Text File  |  2007-10-03  |  11KB  |  241 lines

  1. VERSION 5.00
  2. Begin VB.UserControl MyButton 
  3.    AutoRedraw      =   -1  'True
  4.    ClientHeight    =   1770
  5.    ClientLeft      =   0
  6.    ClientTop       =   0
  7.    ClientWidth     =   1860
  8.    ClipBehavior    =   0  'None
  9.    FillStyle       =   0  'Solid
  10.    PropertyPages   =   "MyButton.ctx":0000
  11.    ScaleHeight     =   118
  12.    ScaleMode       =   3  'Pixel
  13.    ScaleWidth      =   124
  14.    ToolboxBitmap   =   "MyButton.ctx":0035
  15. End
  16. Attribute VB_Name = "MyButton"
  17. Attribute VB_GlobalNameSpace = False
  18. Attribute VB_Creatable = True
  19. Attribute VB_PredeclaredId = False
  20. Attribute VB_Exposed = False
  21. 'developed by edin omeragic
  22. 'from: Bosnia and Hercegovina, Srebrenik
  23. 'my email: edoo_ba@hotmail.com
  24. 'datum: (20.11 - 3.12) 2002 godine
  25. 'type: small project
  26. '==================================================================
  27. 'this code is totaly free,
  28. 'if you dont like this you may copy it on flopy and throw it away ;},
  29. 'If you Like it Then please vote on planetsourcecode
  30. 'and also search for:
  31. ' - iMenu (old project but good) or
  32. ' - iList (cool list)
  33. '==================================================================
  34. 'DrawButton(State)  - draws button (main function)
  35. 'DrawText(...)      - draws text (called from drawbutton)
  36. 'DrawPicture(...)   - draws picture
  37. 'DrawPictureDisabled - draws picture grayed
  38. 'TilePicture()       - tiles picture
  39. 'SetRect (left, top, right, bottom) as RECT 'makes rectangle on flay
  40. 'ModyfyRect(RECT,left,top,right,bottom) as RECT
  41. 'i.e.
  42. 'R = SetRect     (0,0,1,1)
  43. 'R = ModifyRect(R,1,1,1,1)
  44. 'R is            (1,1,2,2)
  45. '==================================================================
  46. '-for default skin, name the picture box "MyButtonDefSkin"
  47. '-for changing skin in design time set property
  48. ' "SkinPictureName" same as picture box name
  49. '==================================================================
  50.  
  51. Option Explicit
  52.  
  53. 'Default Property Values:
  54. Const m_def_TextAlign = vbCenter
  55. Const m_def_PictureTColor = &HFF00FF
  56. Const m_def_PicturePos = 0
  57. Const m_def_TextColorDisabled2 = 0
  58. Const m_def_DrawFocus = 0
  59. Const m_def_DisplaceText = 0
  60. 'Const m_def_DownTextDX = 0
  61. 'Const m_def_DownTextDY = 0
  62. Const m_def_DisableHover = False
  63. Const m_def_TextColorEnabled = 0
  64. Const m_def_TextColorDisabled = 0
  65. Const m_def_FillWithColor = True
  66. Const m_def_SizeCW = 3
  67. Const m_def_SizeCH = 3
  68. Const m_def_Text = ""
  69. 'Property Variables:
  70. Dim m_TextAlign As AlignmentConstants
  71. Dim m_PictureTColor As Ole_Color
  72. Dim m_PicturePos As Integer
  73. Dim m_Picture As StdPicture
  74. Dim m_TextColorDisabled2 As Ole_Color
  75. Dim m_DrawFocus As Integer
  76. Dim m_DisplaceText As Integer
  77. Dim m_DisableHover As Boolean
  78. Dim m_TextColorEnabled As Ole_Color
  79. Dim m_TextColorDisabled As Ole_Color
  80. Dim m_FillWithColor As Boolean
  81. Dim m_SizeCW As Long
  82. Dim m_SizeCH As Long
  83. Dim m_SkinPicture As PictureBox
  84. Dim m_Text As String
  85. Dim m_State As Integer
  86. Dim m_HasFocus As Boolean
  87. Dim m_BtnDown As Boolean
  88. Dim m_SpcDown As Boolean
  89. Dim m_SkinPictureName As String
  90.  
  91.  
  92. Public Enum EnumPicturePos
  93.     ppLeft
  94.     ppTop
  95.     ppBottom
  96.     ppRight
  97.     ppCenter
  98. End Enum
  99. Private Const DI_NORMAL As Long = &H3
  100.  
  101. Const BTN_NORMAL = 1
  102. Const BTN_FOCUS = 2
  103. Const BTN_HOVER = 3
  104. Const BTN_DOWN = 4
  105. Const BTN_DISABLED = 5
  106. 'Event Declarations:
  107. Event Click() 'MappingInfo=UserControl,UserControl,-1,Click
  108. Attribute Click.VB_Description = "Occurs when the user presses and then releases a mouse button over an object."
  109. Event MouseHover()
  110. Event MouseOut()
  111. Event MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  112. Event MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  113. Event MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  114. Event KeyPress(KeyAscii As Integer)
  115. Event KeyDown(KeyCode As Integer, Shift As Integer)
  116. Event KeyUp(KeyCode As Integer, Shift As Integer)
  117.  
  118. Private Type RECT
  119.         Left As Long
  120.         Top As Long
  121.         Right As Long
  122.         Bottom As Long
  123. End Type
  124.  
  125.  
  126. Public Enum EnumDrawTextFormat
  127.     DT_BOTTOM = &H8
  128.     DT_CALCRECT = &H400
  129.     DT_CENTER = &H1
  130.     DT_CHARSTREAM = 4
  131.     DT_DISPFILE = 6
  132.     DT_EXPANDTABS = &H40
  133.     DT_EXTERNALLEADING = &H200
  134.     DT_INTERNAL = &H1000
  135.     DT_LEFT = &H0
  136.     DT_METAFILE = 5
  137.     DT_NOCLIP = &H100
  138.     DT_NOPREFIX = &H800
  139.     DT_PLOTTER = 0
  140.     DT_RASCAMERA = 3
  141.     DT_RASDISPLAY = 1
  142.     DT_RASPRINTER = 2
  143.     DT_RIGHT = &H2
  144.     DT_SINGLELINE = &H20
  145.     DT_TABSTOP = &H80
  146.     DT_TOP = &H0
  147.     DT_VCENTER = &H4
  148.     DT_WORDBREAK = &H10
  149.     DT_WORD_ELLIPSIS = &H40000
  150.     DT_END_ELLIPSIS = 32768
  151.     DT_PATH_ELLIPSIS = &H4000
  152.     DT_EDITCONTROL = &H2000
  153.     '===================
  154.     DT_INCENTER = DT_CENTER Or DT_VCENTER Or DT_SINGLELINE
  155. End Enum
  156.  
  157. Private Const SRCCOPY = &HCC0020
  158. Private Const RGN_AND = 1
  159.  
  160. Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
  161. Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
  162. Private Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  163. Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
  164. Private Declare Function SelectClipPath Lib "gdi32" (ByVal hdc As Long, ByVal iMode As Long) As Long
  165. Private Declare Function SelectClipRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
  166. Private Declare Function apiDrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
  167. Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
  168. Private Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long
  169. Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  170. Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
  171. Private Declare Function apiTranslateColor Lib "olepro32.dll" Alias "OleTranslateColor" (ByVal clr As Ole_Color, ByVal palet As Long, Col As Long) As Long
  172. Private Declare Function DrawFocusRect Lib "user32" (ByVal hdc As Long, lpRect As RECT) As Long
  173. Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
  174. Private Declare Function ReleaseCapture Lib "user32" () As Long
  175. Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
  176. 'Private Declare Function TransparentBlt Lib "msimg32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean
  177. 'MY NOTE: TransparentBlt on Win98 leavs some garbage in memory...
  178. '
  179. 'Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
  180. Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
  181. Private Declare Function GdiTransparentBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal crTransparent As Long) As Boolean
  182. Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
  183. Private Declare Function SetDIBColorTable Lib "gdi32" (ByVal hdc As Long, ByVal un1 As Long, ByVal un2 As Long, pcRGBQuad As RGBQUAD) As Long
  184.  
  185. 'for picture
  186. Private Declare Function GetDIBits Lib "gdi32" (ByVal aHDC As Long, ByVal hBitmap As Long, ByVal nStartScan As Long, ByVal nNumScans As Long, lpBits As Any, lpBI As BITMAPINFO, ByVal wUsage As Long) As Long
  187. Private Declare Function SetDIBitsToDevice Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal Scan As Long, ByVal NumScans As Long, Bits As Any, BitsInfo As BITMAPINFO, ByVal wUsage As Long) As Long
  188. Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
  189. 'Private Declare Function DrawIcon Lib "user32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long
  190. 'Private Declare Function SetDIBitsToDevice Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dx As Long, ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal Scan As Long, ByVal NumScans As Long, Bits As Any, BitsInfo As BITMAPINFO, ByVal wUsage As Long) As Long
  191. Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  192. Private Declare Function CreateDIBSection Lib "gdi32" (ByVal hdc As Long, pBitmapInfo As BITMAPINFO, ByVal un As Long, ByVal lplpVoid As Long, ByVal handle As Long, ByVal dw As Long) As Long
  193. Private Declare Function RealizePalette Lib "gdi32" (ByVal hdc As Long) As Long
  194. Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long
  195. Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long
  196. 'never enough
  197. Private Declare Function GetBkColor Lib "gdi32" (ByVal hdc As Long) As Long
  198. Private Declare Function GetTextColor Lib "gdi32" (ByVal hdc As Long) As Long
  199. Private Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  200. Private Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
  201.  
  202.  
  203. Private Type BITMAPINFOHEADER
  204.         biSize As Long
  205.         biWidth As Long
  206.         biHeight As Long
  207.         biPlanes As Integer
  208.         biBitCount As Integer
  209.         biCompression As Long
  210.         biSizeImage As Long
  211.         biXPelsPerMeter As Long
  212.         biYPelsPerMeter As Long
  213.         biClrUsed As Long
  214.         biClrImportant As Long
  215. End Type
  216. Private Type RGBQUAD
  217.         rgbBlue As Byte
  218.         rgbGreen As Byte
  219.         rgbRed As Byte
  220.         rgbReserved As Byte
  221. End Type
  222. Private Type BITMAP
  223.         bmType As Long
  224.         bmWidth As Long
  225.         bmHeight As Long
  226.         bmWidthBytes As Long
  227.         bmPlanes As Integer
  228.         bmBitsPixel As Integer
  229.         bmBits As Long
  230. End Type
  231. Private Type BITMAPINFO
  232.         bmiHeader As BITMAPINFOHEADER
  233.         bmiColors(1) As RGBQUAD
  234. End Type
  235.  
  236. 'windows version
  237. Private Declare Function LoadLibra=
  238.     DHhMFt awayBR
  239.         bmiCs Byte
  240.   we
  241.   wyBR