Lab3, Visual Basic Lab 3, Visual Basic Lab 3


UKO Użytkowanie Komputerów

Visual Basic Lab 3

Projekt FazyKsiężyca daje okazję do zapoznania się z następującymi możliwościami Visual Basica:

  1. używanie wielu form równocześnie;

  2. korzystanie z pól wyboru;

  3. korzystanie z pól opcji;

  4. wypisywanie komunikatu o błędzie, jeśli użytkownik nie wprowadzi wymaganych danych;

  5. dodawanie dodatkowych przycisków opcji;

  6. użycie ramek;

  7. skrócenie kodu, w przypadku, gdy podobny kod stosuje się do podobnych obiektów (tablica kontrolek);

Krok 1.

Projektujemy formę, pozwalającą użytkownikowi wybrać tryb wyświetlania faz Księżyca.

0x01 graphic
0x01 graphic

(a) (b)

Rys. 1. Forma pozwalająca wybrać tryb wyświetlania obrazków faz Księżyca:

(a) przed rozpoczęciem pracy; (b) po dokonaniu wyboru.

Opis kontrolek formy z Rys. 1.

Kontrolka, właściwość

Wartość

Forma, Name

frmWybierz

Forma, Caption

Wybierz Fazę

Etykieta, Name

etkFazyKsiężyca

Etykieta, BorderStyle

1 - Fixed Single

Etykieta, Caption

Fazy Księżyca

Przycisk opcji nr 1, Name

opcPolaWyboru

Przycisk opcji nr 1, Caption

Pola &wyboru

Przycisk opcji nr 2, Name

opcPrzyciskiOpcji

Przycisk opcji nr 2, Caption

Przyciski &opcji

Przycisk poleceń nr 1, Name

plcWybór

Przycisk poleceń nr 1, Caption

Kliknij, gdy będziesz gotów!

Przycisk poleceń nr 2, Name

plcKoniec

Przycisk poleceń nr 2, Caption

&Koniec

Kod pierwszej formy (startowej)

01 Private Sub Form_Load()

02 'Anuluj wybór wszystkich przycisków opcji

03 opcPolaWyboru = False

04 opcPrzyciskiOpcji = False

05 End Sub

06

07 Private Sub plcKoniec_Click()

08 'Zakończ działanie programu

09 Beep

10 End

11 End Sub

12

13 Private Sub plcWybór_Click()

14 'Sprawdź, czy nie wystąpił błąd,

15 ' a następnie wyświetl odpowiednią formę,

16 ' zgodnie z wyborem użytkownika

17

18 Dim intOdp As Integer 'przechowuje wartość

19 'zwracaną z okna komunikatu

20 If ((opcPolaWyboru.Value = False) _

21 And (opcPrzyciskiOpcji.Value = False)) Then

22 intOdp = MsgBox("Powinieneś wybrać jakąś opcję" _

23 & ", spróbuj jeszcze raz!", _

24 vbCritical, _

25 "Błąd!")

26 ElseIf (opcPolaWyboru.Value = True) Then

27 'Wyświetl fazy Księżyca z polami wyboru

28 frmFazyPolaWyboru.Show

29 Else 'opcPrzyciskOpcji.Value = True

30 'Wyświetl fazy Księżyca z polami opcji

31 frmFazyPrzyciskiOpcji.Show

32 End If

33 End Sub

Linie 1-5 określają sposób wyświetlania pierwszej formy. Linie 3 i 4 czyszczą wybór opcji, więc użytkownik musi dokonać wyboru, gdyż w przeciwnym przypadku zostanie zgłoszony błąd (linie 18-25) Linie 28 lub 31 realizują wybór użytkownika.

Polecenia frmFazyPolaWyboru.Show i frmFazyPrzyciskiOpcji.Show to metody form frmFazyPolaWyboru i frmFazyPrzyciskiOpcji wyświetlania Faz Księżyca albo w wersji z polami wyboru albo w wersji z przyciskami opcji.

Krok 2.

Projektujemy dwie formy o identycznych tytułach (ale o różnych nazwach), pozwalające użytkownikowi wyświetlić nawet wszystkie fazy Księżyca (w zależności od liczby zaznaczonych pól wyboru) lub tylko jedną fazę Księżyca (w zależności od wybranej opcji), ale za to w wersji dużej lub małej (w zależności od wybranej opcji w ramce).

0x01 graphic
0x01 graphic

(a) (b)

Rys. 2. Propozycje projektowe form pozwalające użytkownikowi:

(a) wyświetlić każdą fazę Księżyca (wersja z polami wyboru);

(b) wyświetlić jednocześnie tylko jedną fazę Księżyca z możliwością wyboru dużego lub małego obrazka.

Opis kontrolek formy z Rys. 2a.

Kontrolka, właściwość

Wartość

Forma, Name

frmFazyPolaWyboru

Forma, Caption

Fazy Księżyca

Pole wyboru nr 1, Name

pwbFaza

Pole wyboru nr 1, Caption

Faza &1

Pole wyboru nr 2, Name

pwbFaza

Pole wyboru nr 2, Caption

Faza &2

Pole wyboru nr 3, Name

pwbFaza

Pole wyboru nr 3, Caption

Faza &3

Pole wyboru nr 4, Name

pwbFaza

Pole wyboru nr 4, Caption

Faza &4

Obraz nr 1, Name

obrFaza

Obraz nr 1, Picture

Ścieżka dostępu

Obraz nr 1, Visible

False

Obraz nr 2, Name

obrFaza

Obraz nr 2, Picture

Ścieżka dostępu

Obraz nr 2, Visible

False

Obraz nr 3, Name

obrFaza

Obraz nr 3, Picture

Ścieżka dostępu

Obraz nr 3, Visible

False

Obraz nr 4, Name

obrFaza

Obraz nr 4, Picture

Ścieżka dostępu

Obraz nr 4, Visible

False

Przycisk poleceń, Name

plcWróć

Przycisk poleceń, Caption

&Wróć do wyboru opcji wyboru!

Opis kontrolek formy z Rys. 2b.

Kontrolka, właściwość

Wartość

Forma, Name

frmFazyPrzyciskiOpcji

Forma, Caption

Fazy Księżyca

Przycisk opcji nr 1, Caption

Faza &1

Przycisk opcji nr 2, Name

opcFaza

Przycisk opcji nr 2, Caption

Faza &2

Przycisk opcji nr 3, Name

opcFaza

Przycisk opcji nr 3, Caption

Faza &3

Przycisk opcji nr 4, Name

opcFaza

Przycisk opcji nr 4, Caption

Faza &4

Ramka, Name

rmkRozmiar

Ramka, Caption

Wielkość Obrazka

Ramka, przycisk opcji nr 1, Name

opcDuży

Ramka, przycisk opcji nr 1, Caption

&Duży

Ramka, przycisk opcji nr 2, Name

opcMały

Ramka, przycisk opcji nr 2, Caption

&Mały

Obraz nr 1, Name

obrFaza

Obraz nr 1, Picture

Ścieżka dostępu

Obraz nr 1, Stretch

True

Obraz nr 2, Name

obrFaza

Obraz nr 2, Picture

Ścieżka dostępu

Obraz nr 2, Stretch

True

Obraz nr 3, Name

obrFaza

Obraz nr 3, Picture

ścieżka dostępu

Obraz nr 3, Stretch

True

Obraz nr 4, Name

obrFaza

Obraz nr 4, Picture

ścieżka dostępu

Obraz nr 4, Stretch

True

Przycisk poleceń, Name

plcWróć

Przycisk poleceń, Caption

&Wróć do wyboru opcji wyboru!

Kod formy frmFazyPolaWyboru

01 Private Sub pwbFaza_Click(Index As Integer)

02 'Wyświetl obrazek, jeśli pole wyboru jest wybrane

03 If pwbFaza.Item(Index).Value = 1 Then

04 obrFaza.Item(Index).Visible = True

05 Else

06 obrFaza.Item(Index).Visible = False

07 End If

08 End Sub

09

10 Private Sub plcWróć_Click()

11 'Wróć do pierwszej formy

12 frmFazyPolaWyboru.Hide

13 frmWybierz.Show

14 End Sub

Wszystkie pola wyboru są umieszczone w jednej tablicy pwbFaza, a dostęp do każdego z nich odbywa się poprzez określenie odpowiedniego indeksu Index. Osiągamy ten stan, nazywając wszystkie pola wyboru (atrybut Name) jednakową nazwą pwbFaza, a program niemal automatycznie umieszcza je w tablicy. Obrazek jest wyświetlany tylko wtedy, jeśli właściwość obrazka Visible ma wartość True.

Przycisk plcWróć pozwala na powrót do poprzedniej formy frmWybierz.

Kod formy frmFazyPrzyciskiOpcji

01 Private Sub Form_Load()

02 'Przy ładowaniu formy wybierz opcję Mały

03 opcMały.Value = True

04 End Sub

05

06 Private Sub opcFaza_Click(Index As Integer)

07 'Wyświetl wybrany obrazek

08 Select Case Index

09 Case 0

10 obrFaza.Picture = frmFazyPolaWyboru.obrFaza.Item(0).Picture

11 Case 1

12 obrFaza.Picture = frmFazyPolaWyboru.obrFaza.Item(1).Picture

13 Case 2

14 obrFaza.Picture = frmFazyPolaWyboru.obrFaza.Item(2).Picture

15 Case 3

16 obrFaza.Picture = frmFazyPolaWyboru.obrFaza.Item(3).Picture

17 End Select

18 End Sub

19

20 Private Sub opcMały_Click()

21 'Zabraniamy rozciągania

22 obrFaza.Stretch = False

23 End Sub

24

25 Private Sub opcDuży_Click()

26 'Ustal rozmiary dużego obrazka

27 obrFaza.Width = 2340

28 obrFaza.Height = 2490

29 'Pozwól na zwiększenie wymiaru obrazka

30 obrFaza.Stretch = True

31 End Sub

32

33 Private Sub plcWróć_Click()

34 'Wróć do pierwszej formy

35 frmFazyPrzyciskiOpcji.Hide

36 frmWybierz.Show

37 End Sub

W powyższym kodzie wyboru opcji zademonstrowano (ze względów dydaktycznych) użycie techniki Case. Jako wartość domyślną wybieramy opcję Mały. Rozmiar Duży osiągamy określając rozmiary okna obiektu Image i pozwalając na rozciąganie obrazka.. Poniższe rysunki demonstrują otrzymany wynik.

0x01 graphic
0x01 graphic

(a) (b)

Rys. 3. Działanie opcji dodatkowych:

(a) wyświetlanie małego obrazka; (b) wyświetlanie dużego obrazka.

UKO Użytkowanie Komputerów, Lab 3

Visual Basic Lab 3.doc 5/6



Wyszukiwarka

Podobne podstrony:
Lab6, Visual Basic Lab 6a, Visual Basic Lab 3
Lab5, Visual Basic Lab 5b, Visual Basic Lab 3
Lab6, Visual Basic Lab 6, Visual Basic Lab 3
Lab7, Visual Basic Lab 7a, Visual Basic Lab 3
Lab 2 Visual Analyser oraz kompresje v2
Visual Basic Przykładowe zadania , Studia i nauka, Visual Basic
Leksykon VISUAL BASIC, r00-05, Rozdział X
Visual Basic Zdarzenia , Studia i nauka, Visual Basic
Basic Two Router Cisco CCNA lab
visual basic
02 Wprowadzenie do Visual Basic cwiczenia przygotowujace
Makra programowanie w Visual Basic
Mastering Visual Basic NET Database Programming
Leksykon VISUAL BASIC, r01-05, Rozdział X
Visual Basic Operatory , Studia i nauka, Visual Basic

więcej podobnych podstron