home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Transparen2044891262007.psc / MdlGeneral.bas < prev    next >
BASIC Source File  |  2007-01-26  |  3KB  |  91 lines

  1. Attribute VB_Name = "MdlGeneral"
  2. Option Explicit
  3.  
  4. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
  5.  
  6. Private Const ICON_SMALL As Long = 0
  7.  
  8. Private Const WM_GETICON As Long = 127
  9. Private Const WM_GETTEXT As Long = &HD
  10. Private Const WM_GETTEXTLENGTH As Long = &HE
  11. Private Const WM_SETICON As Long = 128
  12.  
  13. Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  14.  
  15. Private Const SM_CYCAPTION As Long = 4 'Height of windows caption
  16. Private Const SM_CXBORDER As Long = 5 'Width of no-sizable borders
  17. Private Const SM_CYBORDER As Long = 6 'Height of non-sizable borders
  18. Private Const SM_CXDLGFRAME As Long = 7 'Width of dialog box borders
  19. Private Const SM_CYDLGFRAME As Long = 8 'Height of dialog box borders
  20. Private Const SM_CYSMCAPTION As Long = 51
  21.  
  22. Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
  23.  
  24. Private Const SW_HIDE As Long = 0
  25. Private Const SW_SHOWNORMAL As Long = 1
  26.  
  27. Public Function GetTextByHandle(hWnd As Long) As String
  28.  
  29.     Dim TextLenght As Long
  30.  
  31.     TextLenght = SendMessage(hWnd, WM_GETTEXTLENGTH, 0&, 0&)
  32.     GetTextByHandle = Space(TextLenght)
  33.     Call SendMessage(hWnd, WM_GETTEXT, TextLenght + 1, ByVal GetTextByHandle)
  34.  
  35. End Function
  36.  
  37. Public Function GetCaptionHeight(ToolWindow As Boolean) As Long
  38.  
  39.     If Not ToolWindow Then
  40.         GetCaptionHeight = GetSystemMetrics(SM_CYCAPTION)
  41.     Else
  42.         GetCaptionHeight = GetSystemMetrics(SM_CYSMCAPTION)
  43.     End If
  44.  
  45. End Function
  46.  
  47. Public Function GetBorderWidth() As Long
  48.  
  49.     GetBorderWidth = GetSystemMetrics(SM_CXBORDER)
  50.  
  51. End Function
  52.  
  53. Public Function GetBorderHeight() As Long
  54.  
  55.     GetBorderHeight = GetSystemMetrics(SM_CYBORDER)
  56.  
  57. End Function
  58.  
  59. Public Function GetThickFrameWidth() As Long
  60.  
  61.     GetThickFrameWidth = GetSystemMetrics(SM_CXDLGFRAME)
  62.  
  63. End Function
  64.  
  65. Public Function GetThickFrameHeight() As Long
  66.  
  67.     GetThickFrameHeight = GetSystemMetrics(SM_CYDLGFRAME)
  68.  
  69. End Function
  70.  
  71. Public Sub CloneIconByHandle(hWnd1 As Long, hWnd2 As Long)
  72.  
  73.     Dim IconhWnd As Long
  74.  
  75.     IconhWnd = SendMessage(hWnd1, WM_GETICON, ICON_SMALL, ByVal 0&)
  76.     Call SendMessage(hWnd2, WM_SETICON, ICON_SMALL, ByVal IconhWnd)
  77.  
  78. End Sub
  79.  
  80. Public Sub HideWindow(hWnd As Long)
  81.  
  82.     Call ShowWindow(hWnd, SW_HIDE)
  83.  
  84. End Sub
  85.  
  86. Public Sub UnHideWindow(hWnd As Long)
  87.  
  88.     Call ShowWindow(hWnd, SW_SHOWNORMAL)
  89.  
  90. End Sub
  91.