home *** CD-ROM | disk | FTP | other *** search
/ The Mother of All Windows Books / CD-MOM.iso / cd_mom / newsletr / vbz / vbz1-3 / clrdlg.bas < prev    next >
BASIC Source File  |  1993-04-25  |  1KB  |  48 lines

  1. DefInt A-Z
  2.  
  3. Type CHOOSECOLORSTRUC
  4.     lStructSize As Long
  5.     hWndOwner As Integer
  6.     hInstance As Integer
  7.     rgbResult As Long
  8.     lpCustColors As Long  'Long pointer to array of LONGs
  9.     Flags As Long
  10.     lCustData As Long       'Last three are to customize
  11.     lpfnHook As Long        'and can only be used with a
  12.     lpTemplateName As Long  'dialog box and callback
  13. End Type
  14.  
  15. Declare Function SSegAdd Lib "QBFUNC.DLL" (MyVar As Any) As Long
  16. Declare Function ChooseColor Lib "CommDlg.DLL" (CC As CHOOSECOLORSTRUC)
  17.  
  18. Dim ClrDlgArr As CHOOSECOLORSTRUC
  19.  
  20. 'Flag Constants
  21. Const CC_RGBINIT = 1&
  22. Const CC_FULLOPEN = 2&
  23. Const CC_PREVENTFULLOPEN = 4&
  24. Const CC_SHOWHELP = &H8&
  25.  
  26. Dim CustClr&(1 To 16) 'This is to hold our custom colors
  27.  
  28. Function GetColors (Clr&, Custom)
  29.     ClrDlgArr.lStructSize = 32&
  30.     ClrDlgArr.hWndOwner = 0
  31.     ClrDlgArr.hInstance = 0
  32.     ClrDlgArr.rgbResult = Clr&
  33.     ClrDlgArr.lpCustColors = SSegAdd&(CustClr&(1))
  34.     ClrDlgArr.Flags = CC_RGBINIT
  35.     If Custom Then
  36.         If CustClr&(16) = 0 Then
  37.             For X = 1 To 15
  38.                 CustClr&(X + 1) = QBColor(X)
  39.             Next
  40.         End If
  41.     Else
  42.         ClrDlgArr.Flags = ClrDlgArr.Flags Or CC_PREVENTFULLOPEN
  43.     End If
  44.     GetColors = ChooseColor(ClrDlgArr)
  45.     Clr& = ClrDlgArr.rgbResult
  46. End Function
  47.  
  48.