home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / VirtualDig6926546200.psc / cNCCalcSize.cls < prev   
Encoding:
Visual Basic class definition  |  2002-01-04  |  8.7 KB  |  196 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "cNCCalcSize"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15.  
  16. ' =========================================================================
  17. ' cNCCalcSize
  18. '
  19. ' Copyright ⌐ 2000 Steve McMahon (steve@vbaccelerator.com)
  20. '
  21. ' Allows you to significantly modify the title and
  22. ' borders for a window.
  23. '
  24. ' -------------------------------------------------------------------------
  25. ' Visit vbAccelerator at http://vbaccelerator.com
  26. ' =========================================================================
  27.  
  28. Private Type POINTS
  29.    x  As Integer
  30.    y  As Integer
  31. End Type
  32. Private Type WINDOWPOS
  33.    hwnd As Long
  34.    hWndInsertAfter As Long
  35.    x As Long
  36.    y As Long
  37.    cx As Long
  38.    cy As Long
  39.    flags As Long
  40. End Type
  41. Private Type NCCALCSIZE_PARAMS
  42.    rgrc(0 To 2) As RECT
  43.    lppos As Long 'WINDOWPOS
  44. End Type
  45.  
  46. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  47. Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  48.  
  49. Private Declare Function InflateRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
  50. Private Declare Function OffsetRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
  51. Private Declare Function PtInRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long
  52.  
  53. Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  54. Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  55. Private Declare Function ReleaseCapture Lib "user32" () As Long
  56. Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
  57. Private Declare Function MapWindowPoints Lib "user32" (ByVal hwndFrom As Long, ByVal hwndTo As Long, lppt As Any, ByVal cPoints As Long) As Long
  58.  
  59. Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, lpsz2 As Any) As Long
  60. Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
  61. Private Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Long) As Long
  62. Private Declare Function IsZoomed Lib "user32" (ByVal hwnd As Long) As Long
  63. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Any) As Long
  64. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
  65. Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
  66. Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  67. Private Declare Function GetForegroundWindow Lib "user32" () As Long
  68. Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
  69. Private Declare Function RedrawWindow Lib "user32" (ByVal hwnd As Long, lprcUpdate As Any, ByVal hrgnUpdate As Long, ByVal fuRedraw As Long) As Long
  70. Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
  71.  
  72. Private Declare Function CreateDCAsNull Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, lpDeviceName As Any, lpOutput As Any, lpInitData As Any) As Long
  73. Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Long) As Long
  74. Private Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  75. Private Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
  76. Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hDC As Long) As Long
  77. Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long
  78.  
  79. Private Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
  80. Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
  81.  
  82. Private Declare Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
  83. Private Declare Function GetSysColorBrush Lib "user32" (ByVal nIndex As Long) As Long
  84. Private Declare Function FillRect Lib "user32" (ByVal hDC As Long, lpRect As RECT, ByVal hBrush As Long) As Long
  85.  
  86. 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
  87.  
  88. Private Declare Function DrawFrameControl Lib "user32" (ByVal lhDC As Long, tR As RECT, ByVal eFlag As Long, ByVal eStyle As Long) As Long
  89. Private Declare Function DrawEdge Lib "user32" (ByVal hDC As Long, qrc As RECT, ByVal edge As Long, ByVal grfFlags As Long) As Long
  90. Private Declare Function DrawCaptionAPI Lib "user32" Alias "DrawCaption" (ByVal hwnd As Long, ByVal hDC As Long, pcRect As RECT, ByVal un As Long) As Long
  91.  
  92. Private Declare Function SetMenu Lib "user32" (ByVal hwnd As Long, ByVal hMenu As Long) As Long
  93. Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
  94.  
  95. Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
  96.  
  97. ' mouseevent
  98. Private Const MOUSEEVENTF_ABSOLUTE = &H8000 '  absolute move
  99. Private Const MOUSEEVENTF_LEFTDOWN = &H2 '  left button down
  100. Private Const MOUSEEVENTF_LEFTUP = &H4 '  left button up
  101. Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 '  middle button down
  102. Private Const MOUSEEVENTF_MIDDLEUP = &H40 '  middle button up
  103. Private Const MOUSEEVENTF_MOVE = &H1 '  mouse move
  104. Private Const MOUSEEVENTF_RIGHTDOWN = &H8 '  right button down
  105. Private Const MOUSEEVENTF_RIGHTUP = &H10 '  right button up
  106.  
  107. ' SysMetrics
  108. Private Const SM_CXBORDER = 5
  109. Private Const SM_CXDLGFRAME = 7
  110. Private Const SM_CXFIXEDFRAME = SM_CXDLGFRAME
  111. Private Const SM_CXFRAME = 32
  112. Private Const SM_CXHSCROLL = 21
  113. Private Const SM_CXVSCROLL = 2
  114. Private Const SM_CYCAPTION = 4
  115. Private Const SM_CYDLGFRAME = 8
  116. Private Const SM_CYFIXEDFRAME = SM_CYDLGFRAME
  117. Private Const SM_CYFRAME = 33
  118. Private Const SM_CYHSCROLL = 3
  119. Private Const SM_CYMENU = 15
  120. Private Const SM_CYSMSIZE = 31
  121. Private Const SM_CXSMSIZE = 30
  122.  
  123. ' DrawFrameControl:
  124. Private Const DFC_CAPTION = 1
  125. Private Const DFC_MENU = 2
  126. Private Const DFC_SCROLL = 3
  127. Private Const DFC_BUTTON = 4
  128. '#if(WINVER >= =&H0500)
  129. Private Const DFC_POPUPMENU = 5
  130. '#endif /* WINVER >= =&H0500 */
  131.  
  132. Private Const DFCS_CAPTIONCLOSE = &H0
  133. Private Const DFCS_CAPTIONMIN = &H1
  134. Private Const DFCS_CAPTIONMAX = &H2
  135. Private Const DFCS_CAPTIONRESTORE = &H3
  136. Private Const DFCS_CAPTIONHELP = &H4
  137.  
  138. Private Const DFCS_INACTIVE = &H100
  139. Private Const DFCS_PUSHED = &H200
  140. Private Const DFCS_CHECKED = &H400
  141.  
  142. ' DrawEdge:
  143. Private Const BDR_RAISEDOUTER = &H1
  144. Private Const BDR_SUNKENOUTER = &H2
  145. Private Const BDR_RAISEDINNER = &H4
  146. Private Const BDR_SUNKENINNER = &H8
  147.  
  148. Private Const BDR_OUTER = &H3
  149. Private Const BDR_INNER = &HC
  150. Private Const BDR_RAISED = &H5
  151. Private Const BDR_SUNKEN = &HA
  152.  
  153. Private Const EDGE_RAISED = (BDR_RAISEDOUTER Or BDR_RAISEDINNER)
  154. Private Const EDGE_SUNKEN = (BDR_SUNKENOUTER Or BDR_SUNKENINNER)
  155. Private Const EDGE_ETCHED = (BDR_SUNKENOUTER Or BDR_RAISEDINNER)
  156. Private Const EDGE_BUMP = (BDR_RAISEDOUTER Or BDR_SUNKENINNER)
  157.  
  158. Private Const BF_LEFT = &H1
  159. Private Const BF_TOP = &H2
  160. Private Const BF_RIGHT = &H4
  161. Private Const BF_BOTTOM = &H8
  162.  
  163. Private Const BF_TOPLEFT = (BF_TOP Or BF_LEFT)
  164. Private Const BF_TOPRIGHT = (BF_TOP Or BF_RIGHT)
  165. Private Const BF_BOTTOMLEFT = (BF_BOTTOM Or BF_LEFT)
  166. Private Const BF_BOTTOMRIGHT = (BF_BOTTOM Or BF_RIGHT)
  167. Private Const BF_RECT = (BF_LEFT Or BF_TOP Or BF_RIGHT Or BF_BOTTOM)
  168.  
  169. ' Map WIndow Points
  170. Private Const HWND_DESKTOP = 0
  171.  
  172. ' Redraw window:
  173. Private Const RDW_ALLCHILDREN = &H80
  174. Private Const RDW_ERASE = &H4
  175. Private Const RDW_ERASENOW = &H200
  176. Private Const RDW_FRAME = &H400
  177. Private Const RDW_INTERNALPAINT = &H2
  178. Private Const RDW_INVALIDATE = &H1
  179. Private Const RDW_NOCHILDREN = &H40
  180. Private Const RDW_NOERASE = &H20
  181. Private Const RDW_NOFRAME = &H800
  182. Private Const RDW_NOINTERNALPAINT = &H10
  183. Private Const RDW_UPDATENOW = &H100
  184. Private Const RDW_VALIDATE = &H8
  185.  
  186. ' Sys colours:
  187. Private Const COLO= &H200
  188. Private Const DFCSW_FRAME = &H400
  189. Private Const RDW_INriv IH8
  190.  
  191. '  = &H200
  192. CSW_FxH200
  193. &H8
  194.  
  195. P0
  196. PrbWINVlour00
  197. &H8
  198.  
  199. "