home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / vb_clk2 / frm_opts.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-09-06  |  10.4 KB  |  318 lines

  1. VERSION 2.00
  2. Begin Form FRM_Opts 
  3.    BorderStyle     =   3  'Fixed Double
  4.    Caption         =   "Options"
  5.    ClientHeight    =   3360
  6.    ClientLeft      =   1680
  7.    ClientTop       =   2730
  8.    ClientWidth     =   7335
  9.    Height          =   3765
  10.    Left            =   1620
  11.    LinkMode        =   1  'Source
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   3360
  16.    ScaleWidth      =   7335
  17.    Top             =   2385
  18.    Width           =   7455
  19.    Begin PictureBox pDisp 
  20.       BorderStyle     =   0  'None
  21.       FontTransparent =   0   'False
  22.       Height          =   315
  23.       Left            =   60
  24.       ScaleHeight     =   315
  25.       ScaleWidth      =   7215
  26.       TabIndex        =   0
  27.       TabStop         =   0   'False
  28.       Top             =   2910
  29.       Width           =   7215
  30.    End
  31.    Begin CheckBox CHK_Float 
  32.       Caption         =   "Float with menu bar"
  33.       Height          =   315
  34.       Left            =   240
  35.       TabIndex        =   7
  36.       Top             =   2430
  37.       Width           =   2175
  38.    End
  39.    Begin TextBox TXT_Message 
  40.       Height          =   600
  41.       Left            =   5400
  42.       MultiLine       =   -1  'True
  43.       TabIndex        =   11
  44.       Top             =   2130
  45.       Width           =   1665
  46.    End
  47.    Begin ComboBox CMB_Size 
  48.       Height          =   300
  49.       Left            =   2610
  50.       TabIndex        =   6
  51.       Text            =   "Combo1"
  52.       Top             =   1980
  53.       Width           =   1215
  54.    End
  55.    Begin ComboBox CMB_Font 
  56.       Height          =   300
  57.       Left            =   240
  58.       Sorted          =   -1  'True
  59.       Style           =   2  'Dropdown List
  60.       TabIndex        =   5
  61.       Top             =   1950
  62.       Width           =   2145
  63.    End
  64.    Begin ComboBox CMB_AMPM 
  65.       Height          =   300
  66.       Left            =   6450
  67.       Style           =   2  'Dropdown List
  68.       TabIndex        =   10
  69.       Top             =   1530
  70.       Width           =   765
  71.    End
  72.    Begin TextBox TXT_Alarm 
  73.       Height          =   300
  74.       Left            =   5430
  75.       TabIndex        =   9
  76.       Top             =   1530
  77.       Width           =   840
  78.    End
  79.    Begin ComboBox CMB_Fore 
  80.       Height          =   300
  81.       Left            =   2610
  82.       Style           =   2  'Dropdown List
  83.       TabIndex        =   4
  84.       Top             =   1410
  85.       Width           =   1965
  86.    End
  87.    Begin ComboBox CMB_Back 
  88.       Height          =   300
  89.       Left            =   240
  90.       Style           =   2  'Dropdown List
  91.       TabIndex        =   3
  92.       Top             =   1410
  93.       Width           =   1965
  94.    End
  95.    Begin CheckBox CHK_Alarm 
  96.       Caption         =   "Alarm"
  97.       Height          =   225
  98.       Left            =   5400
  99.       TabIndex        =   8
  100.       Top             =   1230
  101.       Width           =   1215
  102.    End
  103.    Begin CommandButton BUT_Exit 
  104.       Caption         =   "Exit program"
  105.       Height          =   375
  106.       Left            =   5940
  107.       TabIndex        =   2
  108.       Top             =   585
  109.       Width           =   1245
  110.    End
  111.    Begin CommandButton BUT_OK 
  112.       Caption         =   "OK"
  113.       Default         =   -1  'True
  114.       Height          =   375
  115.       Left            =   5940
  116.       TabIndex        =   1
  117.       Top             =   135
  118.       Width           =   1245
  119.    End
  120. Dim Colour$(0 To 20)
  121. Dim Col(0 To 20) As Long
  122. Dim pStep As Integer
  123. Dim cY As Integer
  124. Dim Ind As Integer
  125. Sub BUT_Exit_Click ()
  126.     Unload FRM_Clock
  127.     Unload FRM_Disp
  128.     End
  129. End Sub
  130. Sub BUT_OK_Click ()
  131.     BColour = Col(CMB_Back.ListIndex)
  132.     FColour = Col(CMB_Fore.ListIndex)
  133.     DispFont = CMB_Font.List(CMB_Font.ListIndex)
  134.     DispFontSize = Val(CMB_Size.Text)
  135.     If DispFontSize < 3 Then DispFontSize = 3
  136.     If CHK_Alarm.Value = 1 Then IsAlarm = True
  137.     If (TXT_Alarm.Text = "") Or (Val(TXT_Alarm.Text) = 0) Then IsAlarm = False
  138.     If IsAlarm Then
  139.         AlarmTime = Int(Now) + TimeValue(TXT_Alarm.Text + CMB_AMPM.List(CMB_AMPM.ListIndex))
  140.         AlarmMessage = TXT_Message.Text
  141.     Else
  142.         FRM_Opts.CHK_Alarm.Value = 0
  143.     End If
  144.     FRM_Opts.Hide
  145. End Sub
  146. Sub CHK_Alarm_Click ()
  147.     IsAlarm = CHK_Alarm.Value
  148. End Sub
  149. Sub CHK_Float_Click ()
  150.     IsFloat = CHK_Float.Value
  151. End Sub
  152. Sub Form_Load ()
  153.     Screen.MousePointer = HOURGLASS
  154.     Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 3
  155.     FRM_Opts.Picture = FRM_Clock.Icon
  156.     pDisp.Backcolor = BUTTON_FACE
  157.     pDisp.Forecolor = BUTTON_TEXT
  158.     ' setup colour combo boxes
  159.     Colour$(0) = "Black": Colour$(1) = "Blue": Colour$(2) = "Green"
  160.     Colour$(3) = "Cyan": Colour$(4) = "Red": Colour$(5) = "Magenta"
  161.     Colour$(6) = "Yellow": Colour$(7) = "White": Colour$(8) = "Gray"
  162.     Colour$(9) = "Light Blue": Colour$(10) = "Light Green": Colour$(11) = "Light Cyan"
  163.     Colour$(12) = "Light Red": Colour$(13) = "Light Magenta": Colour$(14) = "Light Yellow"
  164.     Colour$(15) = "Bright White"
  165.     Colour$(16) = "Desktop": Colour$(17) = "Active title bar"
  166.     Colour$(18) = "Inactive title bar": Colour$(19) = "Menu bar"
  167.     Colour$(20) = "Menu bar text"
  168.     For x% = 0 To 15
  169.         Col(x%) = QBColor(x%)
  170.     Next
  171.     Col(16) = DESKTOP
  172.     Col(17) = ACTIVE_TITLE_BAR
  173.     Col(18) = INACTIVE_TITLE_Bar
  174.     Col(19) = MENU_BAR
  175.     Col(20) = MENU_BAR_TEXT
  176.     Do While CMB_Back.ListCount > 0
  177.         CMB_Back.RemoveItem 0
  178.         CMB_Fore.RemoveItem 0
  179.     Loop
  180.     For x% = 0 To 20
  181.         CMB_Back.AddItem Colour$(x%)
  182.         CMB_Fore.AddItem Colour$(x%)
  183.     Next x%
  184.     CMB_Back.ListIndex = 16
  185.     CMB_Fore.ListIndex = 17
  186.     For x% = 20 To 0 Step -1
  187.         If BColour = Col(x%) Then CMB_Back.ListIndex = x%
  188.         If FColour = Col(x%) Then CMB_Fore.ListIndex = x%
  189.     Next x%
  190.     ' setup AM/PM combo box
  191.     Do While CMB_AMPM.ListCount > 0
  192.         CMB_AMPM.RemoveItem 0
  193.     Loop
  194.     CMB_AMPM.AddItem "AM"
  195.     CMB_AMPM.AddItem "PM"
  196.     CMB_AMPM.ListIndex = Abs(Time$ > "12:00:00")
  197.     ' setup font size box
  198.     Do While CMB_Size.ListCount > 0
  199.         CMB_Size.RemoveItem 0
  200.     Loop
  201.     CMB_Size.AddItem "6"
  202.     CMB_Size.AddItem "7"
  203.     CMB_Size.AddItem "8.25"
  204.     CMB_Size.AddItem "9.75"
  205.     CMB_Size.AddItem "12"
  206.     CMB_Size.AddItem "13.5"
  207.     CMB_Size.AddItem "18"
  208.     CMB_Size.AddItem "24"
  209.     For x% = 0 To Screen.Fontcount - 1
  210.         If CMB_Size.List(x%) = Format$(DispFontSize) Then CMB_Size.ListIndex = x%
  211.     Next x%
  212.     If CMB_Size.ListIndex = -1 Then CMB_Size.Text = Format$(DispFontSize)
  213.     ' setup font name combo box
  214.     Do While CMB_Font.ListCount > 0
  215.         CMB_Font.RemoveItem 0
  216.     Loop
  217.     For x% = 0 To Screen.Fontcount - 1
  218.         CMB_Font.AddItem Screen.Fonts(x%)
  219.     Next x%
  220.     CMB_Font.ListIndex = 1
  221.     For x% = 0 To Screen.Fontcount - 1
  222.         If CMB_Font.List(x%) = DispFont Then CMB_Font.ListIndex = x%
  223.     Next x%
  224.     If IsAlarm Then
  225.         at$ = Format$(AlarmTime, "h:mm AM/PM")
  226.         TXT_Alarm.Text = Left$(at$, Len(at$) - 3)
  227.         TXT_Message.Text = AlarmMessage
  228.         CHK_Alarm.Value = 1
  229.         CMB_AMPM.ListIndex = Abs(Format$(AlarmTime, "h:mm") > "12:00")
  230.     End If
  231.     If IsFloat Then CHK_Float.Value = 1
  232.     pStep = Int(pDisp.ScaleWidth / MaxItems) - 1
  233.     pDisp.Fillcolor = pDisp.Backcolor
  234.     pDisp.FillStyle = 0
  235.     pDisp.FontSize = 7
  236.     pDisp.FontBold = False
  237.     cY = pDisp.ScaleHeight / 2 - pDisp.TextHeight("A") / 2
  238.     Screen.MousePointer = DEFAULT
  239. End Sub
  240. Sub Form_Paint ()
  241.     fs = FontSize
  242.     fb% = FontBold
  243.     fi% = FontItalic
  244.     FontBold = True
  245.     PrintLabel "Background", CMB_Back
  246.     PrintLabel "Text", CMB_Fore
  247.     PrintLabel "Message", TXT_Message
  248.     FontSize = 9.75
  249.     FontBold = True
  250.     FontItalic = True
  251.     CurrentX = 750
  252.     CurrentY = 5
  253.     Print "VBClock 2.1"
  254.     FontSize = 8.25
  255.     FontBold = False
  256.     FontItalic = False
  257.     CurrentX = 800
  258.     Print "Visual Basic clock and system resources utility."
  259.     Print
  260.     CurrentX = 800
  261.     Print "Written by Sarah Holland, July 1992."
  262.     CurrentX = 800
  263.     Print "Compuserve ID 70620,1425."
  264.     FontSize = fs
  265.     FontBold = fb%
  266.     FontItalic = fi%
  267.     ShowBar pStep, Int(pDisp.ScaleWidth)
  268. End Sub
  269. Sub pDisp_MouseDown (Button As Integer, Shift As Integer, x As Single, Y As Single)
  270.     Ind = Int(x / pStep + 1)
  271.     j% = Ind * pStep
  272.     pDisp.Line (j% - pStep + 9, 9)-(j% - pStep + 9, pDisp.ScaleHeight - 25), BUTTON_SHADOW
  273.     pDisp.Line (j% - pStep + 9, 9)-(j% - 9, 9), BUTTON_SHADOW
  274.     pDisp.Line (j% - pStep + 9, pDisp.ScaleHeight - 23)-(j% - 5, pDisp.ScaleHeight - 23), BUTTON_FACE
  275.     pDisp.Line (j% - 9, 9)-(j% - 9, pDisp.ScaleHeight - 25), BUTTON_FACE
  276. End Sub
  277. Sub pDisp_MouseUp (Button As Integer, Shift As Integer, x As Single, Y As Single)
  278.     Dim hMenu As Integer
  279.     Dim hSubMenu As Integer
  280.     Dim hWnd As Integer
  281.     If Ind <> Int(x / pStep + 1) Then
  282.         ShowBar Ind * pStep, Ind * (pStep + 1) - 1
  283.         Exit Sub
  284.     End If
  285.     Ind = Int(x / pStep + 1)
  286.     PopUpX = Twips_To_Pixels((Ind - 1) * (pStep + 25) + FRM_Opts.Left + pDisp.Left)
  287.     PopUpY = Twips_To_Pixels(FRM_Opts.Top + pDisp.Top - (TextHeight("A") * NumTypes))
  288.     hMenu = GetMenu(FRM_Disp.hWnd)
  289.     hSubMenu = GetSubMenu(hMenu, 0)
  290.     j% = TrackPopupMenu(hSubMenu, 0, PopUpX, PopUpY, 0, FRM_Disp.hWnd, 0)
  291.     DispInfo(Ind) = DispItem
  292.     Unload FRM_Disp
  293.     ShowBar Ind * pStep, Ind * (pStep + 1) - 1
  294. End Sub
  295. Sub PrintLabel (Text As String, Ctl As Control)
  296.     CurrentX = Ctl.Left
  297.     CurrentY = Ctl.Top - 225
  298.     Print Text
  299. End Sub
  300. Sub ShowBar (st%, fin%)
  301.     For x% = st% To fin% Step pStep
  302.         pDisp.DrawWidth = 2
  303.         pDisp.Line (x% - pStep, 0)-(x%, pDisp.ScaleHeight - 8), Forecolor, B
  304.         pDisp.DrawWidth = 1
  305.         pDisp.Line (x% - pStep + 9, 9)-(x% - pStep + 9, pDisp.ScaleHeight - 25), WHITE
  306.         pDisp.Line (x% - pStep + 9, 9)-(x% - 9, 9), WHITE
  307.         pDisp.Line (x% - pStep + 9, pDisp.ScaleHeight - 25)-(x% - 9, pDisp.ScaleHeight - 25), BUTTON_SHADOW
  308.         pDisp.Line (x% - 5, 9)-(x% - 5, pDisp.ScaleHeight - 25), BUTTON_SHADOW
  309.         Info$ = LTrim$(RTrim$(GetInfo(DispInfo(x% / pStep))))
  310.         pDisp.CurrentX = (x% - (pStep / 2)) - pDisp.TextWidth(Info$) / 2
  311.         pDisp.CurrentY = cY
  312.         pDisp.Print Info$
  313.     Next x%
  314. End Sub
  315. Sub TXT_Alarm_Change ()
  316.     CHK_Alarm.Value = 1
  317. End Sub
  318.