home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / _Attention175560692004.psc / MsgBox / AttBox.bas next >
BASIC Source File  |  2004-06-10  |  4KB  |  145 lines

  1. Attribute VB_Name = "AttMod"
  2. Option Explicit
  3.  
  4. 'Declare picture variables to hold the images in the resource file
  5. Public picCancel As Picture
  6. Public picCancel2 As Picture
  7. Public picCancel3 As Picture
  8.  
  9. Public picOk As Picture
  10. Public picOk2 As Picture
  11. Public picOk3 As Picture
  12.  
  13. Public picYes As Picture
  14. Public picYes2 As Picture
  15. Public picYes3 As Picture
  16.  
  17. Public picNo As Picture
  18. Public picNo2 As Picture
  19. Public picNo3 As Picture
  20.  
  21. 'Declaration of variable identifiers
  22. Public attContext As AttValue
  23. Public attBoxLayout As AttType
  24.  
  25. 'Enumerations of values
  26.  
  27. Public Enum AttValue
  28.     attOK = 0
  29.     attCancel = 1
  30.     attYes = 3
  31.     attNo = 4
  32. End Enum
  33.  
  34. Public Enum AttType
  35.     attOkOnly = 0
  36.     attOkCancel = 1
  37.     attYesNo = 2
  38. End Enum
  39.  
  40. Public testMsg As String
  41. Public testType As AttType
  42.  
  43. 'API declaration for counting the lines of the textbox
  44. Private Declare Function Sendmessageaslong Lib "user32" _
  45.     Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
  46.         ByVal wParam As Long, ByVal lParam As Long) As Long
  47. Private Const EM_GETLINECOUNT = 186
  48.  
  49.  
  50. 'procedure to load the images onto the picture variables
  51. 'allows for faster image swapping
  52. Public Sub LoadAttImages()
  53.     Set picCancel = LoadResPicture("CANCEL", vbResBitmap)
  54.     Set picCancel2 = LoadResPicture("CANCEL2", vbResBitmap)
  55.     Set picCancel3 = LoadResPicture("CANCEL3", vbResBitmap)
  56.     
  57.     Set picOk = LoadResPicture("OK", vbResBitmap)
  58.     Set picOk2 = LoadResPicture("OK2", vbResBitmap)
  59.     Set picOk3 = LoadResPicture("OK3", vbResBitmap)
  60.     
  61.     Set picYes = LoadResPicture("YES", vbResBitmap)
  62.     Set picYes2 = LoadResPicture("YES2", vbResBitmap)
  63.     Set picYes3 = LoadResPicture("YES3", vbResBitmap)
  64.     
  65.     Set picNo = LoadResPicture("NO", vbResBitmap)
  66.     Set picNo2 = LoadResPicture("NO2", vbResBitmap)
  67.     Set picNo3 = LoadResPicture("NO3", vbResBitmap)
  68. End Sub
  69. 'procedure to unload the images
  70. Public Sub UnloadAttImages()
  71.     Set picCancel = Nothing
  72.     Set picCancel2 = Nothing
  73.     Set picCancel3 = Nothing
  74.     
  75.     Set picOk = Nothing
  76.     Set picOk2 = Nothing
  77.     Set picOk3 = Nothing
  78.     
  79.     Set picYes = Nothing
  80.     Set picYes2 = Nothing
  81.     Set picYes3 = Nothing
  82.     
  83.     Set picNo = Nothing
  84.     Set picNo2 = Nothing
  85.     Set picNo3 = Nothing
  86. End Sub
  87. 'procedure to count lines in a textbox
  88. Public Function LineCount(msgTxt As TextBox) As Long
  89.     LineCount = Sendmessageaslong(msgTxt.hWnd, EM_GETLINECOUNT, 0, 0)
  90. End Function
  91.  
  92. 'calling procedure of attention box
  93. Public Function AttBox(Optional ByRef attString As String, Optional ByRef attBoxType As AttType) As AttValue
  94.     With frmMsgBox
  95.            .txtNoScroll.Text = attString
  96.             
  97.            If LineCount(.txtNoScroll) > 8 Then
  98.                 .txtNoScroll.Visible = False
  99.                 .txtScroll.Text = attString
  100.                 .txtScroll.Visible = True
  101.            Else
  102.                 .txtNoScroll.Visible = True
  103.                 .txtScroll.Visible = False
  104.                 .txtNoScroll.Text = attString
  105.            End If
  106.         
  107.         Select Case attBoxType
  108.             Case 0
  109.                 .picB(1).Visible = False
  110.                 
  111.                 Set .picB(0).Picture = picOk
  112.                 
  113.                 attBoxLayout = 0
  114.                 
  115.                 .Show vbModal
  116.                 
  117.                 AttBox = attContext
  118.                 
  119.             Case 1
  120.                 .picB(1).Visible = True
  121.                 
  122.                 Set .picB(0).Picture = picCancel
  123.                 Set .picB(1).Picture = picOk
  124.                 
  125.                 attBoxLayout = 1
  126.                 
  127.                 .Show vbModal
  128.                 
  129.                 AttBox = attContext
  130.  
  131.             Case 2
  132.                 .picB(1).Visible = True
  133.                 
  134.                 Set .picB(0).Picture = picNo
  135.                 Set .picB(1).Picture = picYes
  136.                 
  137.                 attBoxLayout = 2
  138.                 
  139.                 .Show vbModal
  140.                 
  141.                 AttBox = attContext
  142.         End Select
  143.     End With
  144. End Function
  145.