Ć wiczenie VB5.3_menu_bmp_resources
Wykonać aplikację wyświetlającą rysunki za pomocą menu. Pliki rysunków umieścić i pobierać z Zasobów Resources. Aplikację w działaniu przedstawia rys. 1.
Rys. 1. Aplikacja w działaniu
Jak umieścić pliki w Zasobach Resources
Aby umieścić pliki map bitowych (lub innych plików zewnętrznych wykorzystywanych w aplikacji) w Zasobach wybieramy kolejno:
1. Z menu Project wybieramy Properties Właściwości poprzedzone nazwą projektu, rys. 2.
Copyright © 2009, Janusz Bonarowski 2 2. W oknie Właściwości Projektu, z bocznego menu, wybieramy pozycje: Resources, rys. 2,
co wywoła okno umożliwiające dodanie pliku, rys. 3.
Rys. 3
3. W górnym menu tego okna, w pozycji Add Resource, klikamy strzałke w dół i wybieramy pozycję Add Existing File, rys. 3
4. Otwiera to okno dialogowe Dodawania istniejących plików Add existig file to resources, w którym poprzez listę rozwijalną możemy wskazać katalog zawierający pliki z
rysunkami, rys. 4. Zaznaczamy wszystkie plik (np. przez Ctrl+A) i klikamy Otwórz.
Rys. 4. Zaznaczanie plików, aby dodać je do zasobów
Wszystkie zaznaczone pliki znajdą się w Zasobach, rys. 5. Proszę zwrócić uwagę, że w oknie Solution Explorer pojawi się nowy folder z mapami bitowymi dodanymi do zasobów.
Copyright © 2009, Janusz Bonarowski 4
Rys. 5. Pliki dodane do Zasobów
5. Cały proces dodawania plików map bitowych do aplikacji został wykonany. Zamykamy zatem okno Zasobów klikając przycisk Zamknij [x] na pasku tytułu okna Zasobów, rys. 5.
Wywoła to okno dialogowe z pytaniem o zapis zmian Save changes to the following items? w odpowiedzi klikamy Yes, rys. 6.
Rys. 6. Zapisywanie akcji dodawania plików do zasobów
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. 7.
Rys. 7. Rozpoczynamy tworzenie menu
(1) W oknie projektowania, 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.
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. Zbudujmy menu jak na rys. 8.
Copyright © 2009, Janusz Bonarowski 6 nazwy obiektów takie jakie proponuje Visual Basic. Formularz wraz z obiektami może mieć postać jak na rys. 6.
Rys. 9. Formularz z MenuStrip i PictureBox
Tworzenie kodu aplikacji
Instrukcja wyświetlająca rysunek z zasobów ma postać:
PictureBox1.Image = My.Resources.aveo4 Pełny kod aplikacji pokazano poniżej:
Private Sub DrzwiowyToolStripMenuItem_Click(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles DrzwiowyToolStripMenuItem.Click
PictureBox1.Image = My.Resources.aveo3 End Sub
Private Sub DrzwiowyToolStripMenuItem1_Click(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles DrzwiowyToolStripMenuItem1.Click
PictureBox1.Image = My.Resources.aveo4 End Sub
Private Sub DrzwiowyToolStripMenuItem2_Click(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles DrzwiowyToolStripMenuItem2.Click
PictureBox1.Image = My.Resources.aveo5 End Sub
Private Sub ZamknijToolStripMenuItem_Click(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles ZamknijToolStripMenuItem.Click
'Pytanie za pomocą funkcją MesgBox() _
'umieszczonej wewnatrz instrukcji warunkowej
If MsgBox("Czy rzeczywiście zamknąć aplikację?", _ MsgBoxStyle.Question + MsgBoxStyle.YesNo, _ "Koniec aplikacji") = MsgBoxResult.Yes Then Application.Exit()
End If End Sub
Dzięki umieszczeniu plików zewnętrznych z Zasobach, nie musimy zabezpieczać aplikacji na wypadek braku rysunku do wyśwetlenia, spowodowanego np. zmianą nazwy katalogu z rysunkami lub jego braku. Wszystkie potrzebne pliki znajdują się wprost w pliku exe. Pociąga to za sobą zmianę rozmiaru tego pliku, patrz rys. 10.
Rys. 10. Różne rozmiary pliku exe