PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Przykładowa aplikacja


poprzednia...


Oto cały kod programu:

Option Explicit   'wymuszenie deklaracji zmiennych
   'zmienne globalne przechowujące formaty daty i czasu
Public gstrFormatDaty As String
Public gstrFormatCzasu As String
Private Sub Form_Load()
   gstrFormatDaty = "Long Date"
   gstrFormatCzasu = "Long Time"
      'ustawienie wartości początkowych formatów daty i czasu
   Call tmrZegar_Timer
      'wywołanie procedury zdarzenia Timer kontrolki Timer,
      'aby ustalić datę i czas wyświetlane w etykietach
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbRightButton Then
      'jeżeli wciśnięto prawy przycisk myszy
      frmZegar.PopupMenu mnuMenu
         'rozwinięcie menu pop-up: Menu
   End If
End Sub
Private Sub Form_Resize()
   'ustawienie nowych pozycje etykiet po zmianie rozmiaru
   Call UstawEtykiety
End Sub
Private Sub lblCzas_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbRightButton Then
      'jeżeli wciśnięto prawy przycisk myszy
      frmZegar.PopupMenu mnuCzas
         'rozwinięcie menu pop-up: Czas
   End If
End Sub
Private Sub lblData_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbRightButton Then
      'jeżeli wciśnięto prawy przycisk myszy
      frmZegar.PopupMenu mnuData
         'rozwinięcie menu pop-up: Data
   End If
End Sub
Private Sub mnuCzasCzcionka_Click()
   'wywołanie procedury zmieniającej czcionkę etykiety lblCzas
   Call ZmienCzcionke(lblCzas)
End Sub
Private Sub mnuCzasFormatFormaty_Click(Index As Integer)
Dim bytI As Byte
   For bytI = 1 To 3
      mnuCzasFormatFormaty(bytI).Checked = False
         'ustawienie właściwości Checked wszystkich pozycji menu Czas/Format
         'na False i usunięcie wszystkich znaczników V
   Next bytI
   mnuCzasFormatFormaty(Index).Checked = True
      'ustawienie Checked na True dla wybranego formatu czasu
   Select Case Index
      'w zależności od indeksu wybranego formatu do zmiennej gstrFormatCzasu
      'podstawiana jest wartość tekstowa wykorzystywana przez funkcję Format()
      'do formatowania czasu
      Case 1:
         gstrFormatCzasu = "Long Time"
      Case 2:
         gstrFormatCzasu = "Medium Time"
      Case 3:
         gstrFormatCzasu = "Short Time"
   End Select
   Call tmrZegar_Timer
      'wyświetlenie czasu w nowym formacie
   Call UstawEtykiety
      'ustawie pozycji etykiet
End Sub
Private Sub mnuCzasPokaz_Click()
   mnuCzasPokaz.Checked = Not (mnuCzasPokaz.Checked)
   mnuMenuCzas.Checked = mnuCzasPokaz.Checked
      'zmiana Checked menu mnuCzasPokaz i mnuMenuCzas, które mają takie samo
      'znacznie, na przeciwną

   lblCzas.Visible = Not (lblCzas.Visible)
      'ukrycie lub pokazanie czasu
   Call UstawEtykiety
      'ustawienie nowych pozycji etykiet
End Sub
Private Sub mnuCzasUstaw_Click()
Dim varCzas As Variant   'zmienna w której będzie pobrany od użytkownika łańcuch znaków
   varCzas = InputBox("Podaj nowy czas: ", "Czas: " & lblCzas.Caption, lblCzas.Caption)
   If IsDate(varCzas) Then
      Time = varCzas
   End If
End Sub
Private Sub mnuDataCzcionka_Click()
   'wywołanie procedury zmieniającej czcionkę etykiety lblData
   Call ZmienCzcionke(lblData)
End Sub
Private Sub mnuDataFormatFormaty_Click(Index As Integer)
Dim bytI As Byte
   For bytI = 1 To 3
      mnuDataFormatFormaty(bytI).Checked = False
         'ustawienie właściwości Checked wszystkich pozycji menu Data/Format
         'na False i usunięcie wszystkich znaczników V
   Next bytI
   mnuDataFormatFormaty(Index).Checked = True
      'ustawienie Checked na True dla wybranego formatu daty
   Select Case Index
      'w zależności od indeksu wybranego formatu do zmiennej gstrFormatDaty
      'podstawiana jest wartość tekstowa wykorzystywana przez funkcję Format()
      'do formatowania daty
      Case 1:
         gstrFormatDaty = "Long Date"
      Case 2:
         gstrFormatDaty = "Medium Date"
      Case 3:
         gstrFormatDaty = "Short Date"
   End Select
   Call tmrZegar_Timer
      'wyświetlenie daty w nowym formacie
   Call UstawEtykiety
      'ustawie pozycji etykiet
End Sub
Private Sub mnuDataPokaz_Click()
   mnuDataPokaz.Checked = Not (mnuDataPokaz.Checked)
   mnuMenuData.Checked = mnuDataPokaz.Checked
      'zmiana Checked menu mnuDataPokaz i mnuMenuData, które mają takie samo
      'znacznie, na przeciwną

   lblData.Visible = Not (lblData.Visible)
      'ukrycie lub pokazanie daty
   Call UstawEtykiety
      'ustawienie nowych pozycji etykiet
End Sub
Private Sub mnuDataUstaw_Click()
Dim varData As Variant   'zmienna w której będzie pobrany od użytkownika łańcuch znaków
   varData = InputBox("Podaj nową datę: ", "Data: " & lblData.Caption, lblData.Caption)
   If IsDate(varData) Then
      Date = varCzas
   End If
End Sub
Private Sub mnuMenuCzas_Click()
   Call mnuCzasPokaz_Click
End Sub
Private Sub mnuMenuData_Click()
   Call mnuDataPokaz_Click
End Sub
Private Sub mnuMenuUkryj_Click()
   mnuZegar.Visible = Not (mnuZegar.Visible)
   mnuData.Visible = Not (mnuData.Visible)
   mnuCzas.Visible = Not (mnuCzas.Visible)
      'pokazanie lub ukrycie menu
   If mnuZegar.Visible = True Then
      mnuMenuUkryj.Caption = "&Ukryj menu"
         'jeżeli menu jest widoczne to zmiana Caption menu mnuMenuUkryj
         'na "Ukryj menu"
   Else
      mnuMenuUkryj.Caption = "&Pokaż menu"
         'jeżeli menu nie jest widoczne to zmiana Caption menu mnuMenuUkryj
         'na "Pokaz menu"

   End If
End Sub
Private Sub mnuZegarKolor_Click()
   cdlOknaDialogowe.Color = frmZegar.BackColor
      'przekazanie koloru do kontrolki
   cdlOknaDialogowe.ShowColor
      'wyświetla okno kolorów
   frmZegar.BackColor = cdlOknaDialogowe.Color
      'ustawienie nowego koloru formy
End Sub
Private Sub mnuZegarKoniec_Click()
   UnLoad frmZegar
      'usunięcie formy frmZegar z pamięci
End Sub
Private Sub tmrZegar_Timer()
   lblCzas.Caption = Format(Time, gstrFormatCzasu)
      'wyświetlenie czasu w określonym formacie
   lblData.Caption = Format(Date, gstrFormatDaty)
      'wyświetlenie daty w określonym formacie
   frmZegar.Caption = "Zegar " & lblCzas.Caption
      'wyświetlenie czasu na pasku tytułowym formy
End Sub
Public Sub UstawEtykiety()
   lblData.Left = (frmZegar.ScaleWidth - lblData.Width) / 2
   lblCzas.Left = (frmZegar.ScaleWidth - lblCzas.Width) / 2
      'ustalenie położenia etykiet centralnie w połowie szerokości formy
   If lblData.Visible = True Then
      If lblCzas.Visible = True Then
         lblData.Top = (frmZegar.ScaleHeight - lblCzas.Height - lblData.Height - 100) / 2
         lblCzas.Top = lblData.Top + lblData.Height + 100
            'jeżeli widoczna jest i data i czas, ustalenie położenia etykiet
            'centralnie w połowie wysokości formy
      Else
         lblData.Top = (frmZegar.ScaleHeight - lblData.Height) / 2
            'jeżeli widoczna jest tylko data, ustalenie położenia etykiety
            'centralnie w połowie wysokości formy
      End If
   Else
      lblCzas.Top = (frmZegar.ScaleHeight - lblCzas.Height) / 2
         'jeżeli widoczny jest tylko czas, ustalenie położenia etykiety
         'centralnie w połowie wysokości formy
   End If
End Sub
Public Sub ZmienCzcionke(Kontrolka As Control)
   cdlOknaDialogowe.Flags = cdlCFScreenFonts + cdlCFEffects
      'ustawienie flag, powodujących wyświetlenie dostępnych czcionek
      'ekranowych i opcji Podkreślone i Przekreślone

   cdlOknaDialogowe.FontName = Kontrolka.Font.Name
   cdlOknaDialogowe.FontSize = Kontrolka.Font.Size
   cdlOknaDialogowe.FontBold = Kontrolka.Font.Bold
   cdlOknaDialogowe.FontItalic = Kontrolka.Font.Italic
   cdlOknaDialogowe.FontStrikethru = Kontrolka.Font.Strikethrough
   cdlOknaDialogowe.FontUnderline = Kontrolka.Font.Underline

      'przekazanie aktualnie wykorzystywanej czcionki kontrolki
      'do kontrolki CommonDialog jako wartości startowej

   cdlOknaDialogowe.Color = Kontrolka.ForeColor
      'przekazanie koloru czcionki do CommonDialog
   cdlOknaDialogowe.ShowFont
      'wyświetlenie okna Czcionki
   Kontrolka.Font.Name = cdlOknaDialogowe.FontName
   Kontrolka.Font.Size = cdlOknaDialogowe.FontSize
   Kontrolka.Font.Bold = cdlOknaDialogowe.FontBold
   Kontrolka.Font.Italic = cdlOknaDialogowe.FontItalic
   Kontrolka.Font.Strikethrough = cdlOknaDialogowe.FontStrikethru
   Kontrolka.Font.Underline = cdlOknaDialogowe.FontUnderline

      'przekazanie wybranych atrybutów czcionki do kontrolki
   Kontrolka.ForeColor = cdlOknaDialogowe.Color
      'przekazanie wybranego koloru czcionki do kontrolki
   Call UstawEtykiety
      'ustawienie pozycji kontrolek
End Sub

frmZegar





Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora