• Nie Znaleziono Wyników

Ćwiczenie VB5.2_menu_bmp Wykona

N/A
N/A
Protected

Academic year: 2021

Share "Ćwiczenie VB5.2_menu_bmp Wykona"

Copied!
4
0
0

Pełen tekst

(1)

Copyright © 2009, Janusz Bonarowski 1

Ć wiczenie VB5.2_menu_bmp

Wykonać aplikację wyświetlającą rysunki za pomocą menu. Aplikację w działaniu przedstawia rys. 1.

Rys. 1. Aplikacja w działaniu

Wykonanie menu

Obiekt menu rozwijalnego pobieramy z paska Toolbox, z grupy Menus & Toolbars, gdzie nazywa się MenuStrip. Jeśli przeniesiemy obiekt MenuStrip na formularz – efekt będzie jak na rys. 2.

Rys. 2. Rozpoczynamy tworzenie menu

(1) W oknie formularza, ale poza samym formularzem, dodany zostanie obiekt MenuStrip o domyślnej nazwie MenuStrip1,

(2) Na formularzu dodany zostanie szablon menu rozwijalnego, do którego możemy wpisywać pozycje menu poziomów głównych i pozycje podmenu.

(2)

Copyright © 2009, Janusz Bonarowski 2 Dodawanie pozycji menu rozpoczynamy wpisując ich nazwy w okno z napisem Type Here (wpisz tutaj). Po kliknięciu tego okna – rozwinie się ono w dół i w prawo pozwalając wpisywać pozycje menu na tym samym poziomie jak i pozycje podmenu, rys. 3.

Rys. 3. Wpisywanie pozycji menu i podmenu

Ponieważ planowane do wyświetlenia rysunki, rys. 4, można podzielić na dwie grupy, o nazwach:

• Rysunki 0:

rys01.bmp, rys02.bmp,

• Rysunki 1:

rys11.bmp, rys12.bmp, podobnie zbudujemy menu.

Rys. 4. Rysunki planowane do wyświetlenia

Na najwyższym poziomie umieścimy dwie pozycje: Rysunki 0 i Rysunki 1, a w każdej z tych pozycji umieścimy podmenu z nazwami odpowiednich rysunków z podgrupy – jak na rys. 5.

Rysunki 0 Rysunki 1 Koniec

Rys01 Rys11

Rys02 Rys12

Rys. 5. Propozycja menu

Wykonajmy menu z pozycjami jak na rys. 5, dodając jeszcze element o nazwie Koniec, kliknięcie którego będzie zamykać aplikację.

PictureBox

Obiektem przeznaczonym do wyświetlania rysunków map bitowych, różnych typów, jest obiekt PictureBox, znajdujący się w Toolbox’ie, w grupie Common Controls. Pozostawmy nazwy obiektów takie jakie proponuje Visual Basic. Formularz wraz z obiektami może mieć postać jak na rys. 6.

(3)

Copyright © 2009, Janusz Bonarowski 3

Rys. 6. Formularz z MenuStrip i PictureBox

Tworzenie kodu aplikacji

Instrukcja wyświetlająca rysunek o nazwie Rys01.bmp, znajdujący się np. w katalogu:

C:\tkm\gr1.01 – czyli na ścieżce: c:\tkm\gr1.01\rysunki\Rys01.bmp, ma postać:

PictureBox1.Image = _

System.Drawing.Image.FromFile("c:\tkm\gr1.01\rysunki\Rys01.bmp")

Instrukcja ta będzie musiała być wywołana 4 razy dla każdego rysunki, a zmianie ulegnie tylko nazwa rysunku, a właściwie dwa ostatnie znaki nazwy.

Proponuję zatem napisać oddzielną procedurę wyświetlająca rysunek, którego nazwa będzie argumentem tej procedury:

Private Sub ZaladujObraz(ByVal nazwa As String)

' Procedura umieszcza plik rysunku o wskazanej nazwie ' (bez rozszerzenia) w obiekcie PictureBox1

'--- Dim sc As String

' Uwaga!

' Poniżej należy wpisać scieżkę wskazująca lokalizację plików sc = "C:\tkm\gr1.01\VB4.2_menu_bmp\rysunki"

Try

PictureBox1.Image = _

System.Drawing.Image.FromFile(sc & "\" & nazwa & ".bmp") Catch ex As Exception

' Własna obsługa błędu If Err.Number = 53 Then

MsgBox("Na wskazanej ścieżce:" & vbCrLf & sc & vbCrLf & _ "brak pliku rysunku")

End If End Try End Sub

Ponieważ może się zdarzyć, że aplikacja nie odnajdzie rysunku i może zawiesić działanie z powodu nie obsłużonego błędu – wykonajmy własną obsługę błędów posługując się obiektem Err, którego właściwość Number zwraca numer błędu.

(4)

Copyright © 2009, Janusz Bonarowski 4

Pełny kod aplikacji

Private Sub ZaladujObraz(ByVal nazwa As String)

' Procedura umieszcza plik rysunku o wskazanej nazwie ' (bez rozszerzenia) w obiekcie PictureBox1

'--- Dim sc As String

' Uwaga!

' Poniżej należy wpisać własną scieżkę wskazująca lokalizację plików sc = "C:\tkm\gr1.01\VB4.2_menu_bmp\rysunki"

Try

PictureBox1.Image = _

System.Drawing.Image.FromFile(sc & "\" & nazwa & ".bmp") Catch ex As Exception

If Err.Number = 53 Then

MsgBox("Na wskazanej ścieżce:" & vbCrLf & sc & vbCrLf & _ "brak pliku rysunku")

End If End Try End Sub

Private Sub Rys01ToolStripMenuItem_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _

Handles Rys01ToolStripMenuItem.Click Call ZaladujObraz("Rys01")

End Sub

Private Sub Rys02ToolStripMenuItem_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _

Handles Rys02ToolStripMenuItem.Click Call ZaladujObraz("Rys02")

End Sub

Private Sub Rys11ToolStripMenuItem_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Rys11ToolStripMenuItem.Click Call ZaladujObraz("Rys11")

End Sub

Private Sub Rys12ToolStripMenuItem_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Rys12ToolStripMenuItem.Click Call ZaladujObraz("Rys12")

End Sub

Private Sub KoniecToolStripMenuItem_Click(ByVal sender As System.Object,_

ByVal e As System.EventArgs) Handles KoniecToolStripMenuItem.Click Dim Odp As Integer

Odp = MsgBox("Czy rzeczywiście zamknmąć aplikację", _

MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Zamknięcie aplikacji") If Odp = vbYes Then

Application.Exit() End If

End Sub

Procedura powyżej (dla pozycji menu Koniec) pobiera do zmiennej Odp kod przycisku klikniętego w funkcji MsgBox, następnie testuje go i jeśli był to klawisz Tak (jego kod zawarty jest w stałej Visual Basic’a o nazwie vbYes) – zamyka aplikację.

Cytaty

Powiązane dokumenty

Podawany na oddzielnym stole zestaw serów pieśniowych, camembert, brie, feta, gorgonzola , mozzarella, tradycyjnych serów górskich, polskiego białego sera oraz serów

wheat roll, mozzarella cheese, tomatoe sauce, rucola, parmesan, salami piccante, olives, basil, beef 200 g, homemade fries-. Burger Devil

Passoa, limonka, woda gazowana, cukier brązowy, mięta.

Łosoś wędzony na ciepło - ziemniaki kremowe, szpinak, zestaw surówek 4 4,00 Filet z dorsza - ziemniaki au gratine, sos z pieczonych pomidorów, zielony pieprz, koperek 4 1,00

Cabernet Sauvignon , Syrah, Mourverde - Bekaa Valley/ Liban / wytrawne Baron de Ley Gran Reserva Tempranillo - DOCa Rioja / Hiszpania / wytrawne. Il

Podawany na oddzielnym stole zestaw serów pieśniowych, camembert, brie, feta, gorgonzola , mozzarella, tradycyjnych serów górskich, polskiego białego sera oraz serów

Aby zakończyć funkcję częstotliwości, nacisnąć żółty przycisk lub przekręcić pokrętło W funkcji częstotliwości wskaźnik belkowy wskazuje napięcie zmienne/ciągłe lub

 Kasy – wprowadzenie danych kasy jednostki (przypisanie wzorców numeracji, kont, dziennika a także typów księgowań) – może zostać dodane w późniejszym etapie.. 