Opis funkcji MsgBox |
|
|
Funkcja MsgBox wyświetla okno dialogowe z jednym lub więcej przyciskami i czeka na reakcję, po czym zwraca wartość typu Integer określającą który przycisk został naciśniety. Składnia: MsgBox(prompt[, buttons] [, title] [,helpfile, context]) W składni funkcji MsgBox argumenty zawarte w nawiasach prostokątnych są nieobowiązkowe. Samych nawiasów prostokątnych nie należy umieszczać w kodzie programu pisanego w języku Visual Basic. Dla funkcji MsgBox jedynym argumentem, który trzeba podać jest tekst wyświetlany w oknie (argument prompt). Nawiasów okrągłych używamy jeżeli funkcja jest przypisana do zmiennej. Jeżeli nie przypiszemy funkcji do zmiennej a argumenty zostaną ujęte w nawiasy okrągłe, instrukcja spowoduje błąd składniowy. Funkcja MsgBox ma następujące argumenty: Argument Opis
prompt Argument obowiązkowy, wyrażenie znakowe wyświetlane jako komunikat w oknie dialogowym. Maksymalna długość prompt wynosi około 1024 znaki, zależnie od szerokości znaków w zastosowanej czcionce. Jeśli prompt składa się z kilku wierszy, należy je rozdzielić wstawiając znak powrotu karetki Chr(13) lub znak nowego wiersza Chr(10) albo kombinację znaków powrót karetki i nowy wiersz Chr(13) & Chr(10). Jeżeli chcemy wyświetlić zwykły tekst musimy go umieścić w cudzysłowie " ". Możemy też wyświetlić inne wartości, które wcześniej przypisaliśmy do zmiennej, wtedy wpisujemy nazwę zmiennej (bez cudzysłowu). Jeżeli treść komunikatu ma się składać z kilku ciągów musimy je połączyć operatorem &.
buttons Argument nieobowiązkowy, wyrażenie numeryczne określające liczbę i typ wyświetlanych przycisków i ich rodzaj, styl używanych ikon, identyfikator domyślnego przycisku oraz modalność okna komunikatu. Brak parametru buttons spowoduje przyjęcie wartości domyślnej równej 0. W dalszej części podaje ustawienia argumentu buttons.
title Argument nieobowiązkowy, wyrażenie znakowe wyświetlane na pasku tytułu okna dialogowego. Brak argumentu title spowoduje, że na pasku tytułu zostanie umieszczona nazwa aplikacji.
helpfile Argument nieobowiązkowy, wyrażenie znakowe określające plik Pomocy zawierający pomoc kontekstową. Argument helpfile musi być zawsze podany z argumentem context.
context Argument nieobowiązkowy, wyrażenie numeryczne określające identyfikator tematu w pliku Pomocy. Jeśli podany jest argument context, to musi być również podany argument helpfile.
Argument buttons ma następujące ustawienia: Stała Wartość Opis
vbOKOnly 0 Wyświetl tylko przycisk OK.
VbOKCancel 1 Wyświetl przycisk OK i Anuluj.
VbAbortRetrylgnore 2 Wyświetl przycisk Przerwij, Ponów i Ignoruj.
VbYesNoCancel 3 Wyświetl przyciski Tak, Nie i Anuluj.
VbYesNo 4 Wyświetl przycisk Tak i Nie.
VbRetryCancel 5 Wyświetl przyciski Ponów i Anuluj.
VbCritical 16 Wyświetl ikonę Komunikat krytyczny.
VbQuestion 32 Wyświetl ikonę Pytanie ostrzegawcze.
VbExclamation 48 Wyświetl ikonę Komunikat ostrzegawczy.
VbInformation 64 Wyświetl ikonę Komunikat informacyjny.
VbDefaultButton1 0 Domyślnym przyciskiem jest przycisk pierwszy.
VbDefaultButton2 256 Domyślnym przyciskiem jest przycisk drugi.
VbDefaultButton3 512 Domyślnym przyciskiem jest przycisk trzeci.
VbDefaultButton4 768 Domyślnym przyciskiem jest przycisk czwarty.
VbApplicationModal 0 Okno modalne w aplikacji; działanie bieżącej aplikacji zostanie wstrzymane, dopóki użytkownik nie odpowie na wyświetlony komunikat.
VbSystemModal 4096 Okno modalne w systemie; działanie wszystkich aplikacji zostanie wstrzymane, dopóki użytkownik nie odpowie na wyświetlony komunikat.
Ustawienia wartości argumentu buttons możemy podzielić na kilka grup. Pierwsza grupa wartości od 0 do 5 opisuje liczbę i typ przycisków. Druga grupa 16, 32, 48, 64 opisuje rodzaje ikon. Trzecia grupa 0, 256, 512 określa domyślny przycisk okna. Czwarta grupa 0, 4096 definiuje modalność okna komunikatu. Wartości zwracane przez funkcje MsgBox: Funkcja MsgBox może po kliknięciu na odpowiedni przycisk w wyświetlanym oknie komunikatu zwracać wartości, które możemy w jakiś sposób wykorzystać. Jeśli zwracana wartość ma zostać zignorowana, nie należy umieszczać nawiasów. Funkcję należy wywołać tak, jak procedurę Sub. Należy pominąć nawiasy, podać listę argumentów i nie przypisywać wyniku funkcji do zmiennej. Na przykład: MsgBox "Zakończono zadanie", 0, "Okno zadania" Aby wykorzystać wartość zwracaną przez funkcję, należy umieścić argumenty w nawiasach i przypisać zwracaną wartość do zmiennej. Odp = MsgBox("Czy jesteś zadowolony ze swoich zarobków?", 4, "Pytanie 3") Jeżeli nie przypiszemy funkcji do zmiennej a argumenty zostaną ujęte w nawiasy, instrukcja spowoduje błąd składniowy. Poniżej przedstawiam wartości zwracane przez funkcję MsgBox. Stała Wartość Opis
vbOK 1 Naciśnięto przycisk OK.
vbCancel 2 Naciśnięto przycisk Anuluj.
vbAbort 3 Naciśnięto przycisk Przerwij.
vbRetry 4 Naciśnięto przycisk Ponów.
vbIgnore 5 Naciśnięto przycisk Ignoruj.
vbYes 6 Naciśnięto przycisk Tak.
vbNo 7 Naciśnięto przycisk Nie.
Zastosowanie: Funkcje MsgBox możemy wykorzystać na wiele sposobów np: podając informację, ostrzegając o czymś czy dając użytkownikowi możliwość wyboru sposobu dalszego działania programu. Przykłady:
MsgBox "Witaj" ' Wyświetlane jest okno komunikatu z komunikatem Witaj.
MsgBox "Witaj" & " Przyjacielu" ' Wyświetlane jest okno komunikatu z komunikatem Witaj Przyjacielu. Do połączenia wyrazów użyliśmy operatora &.
MsgBox "Witaj" & Chr(10) & "Przyjacielu" ' Wyświetlane jest okno komunikatu z komunikatem umieszczonym w dwóch wierszach: górny to słowo Witaj dolny słowo Przyjacielu. Dla osiągnięcia tego efektu zastosowaliśmy znak nowego wiersza Chr(10), do połączenia wyrazów wykorzystaliśmy też operator Łączący &.
MsgBox "Witaj", , "dzono4" ' Wyświetlane jest okno komunikatu z komunikatem Witaj a na pasku tytułu napis dzono4. Pominęliśmy wartość argumentu buttons stawiając sam przecinek, brak tego parametru spowoduje przyjęcie wartości domyślnej 0.
MsgBox "Witaj", VbOKCancel, "dzono4" ' Wyświetlane jest okno komunikatu z komunikatem Witaj i dwoma przyciskamy Ok i Anuluj. Na pasku tytułu napis dzono4. Parametr buttons określa stała VbOKCancel.
MsgBox "Witaj", 321, "dzono4" ' Jest to przykład podobny jak wyżej, różni się sposobem określenia argumentu buttons Argument ten jest określony za pomącą wartości liczbowych. Dla przypomnienia dodam, że z każdej grupy ustawień argumentu buttons wybieramy jedną wartość i wartości te sumujemy. Proponuję zastanowić się dlaczego niektóre ustawienia wartości argumentu buttons mają wartość 0.
MsgBox "Czy jesteś zadowolony ze swoich zarobków?", VbYesNo + VbInformation + VbDefaultButton1, "Kierownik" ' Wyświetlane jest okno komunikatu z pytaniem, dwoma przyciskami Tak i Nie oraz ikona Komunikat informacyjny. Na pasku tytułu napis Kierownik, domyślnym przyciskiem jest przycisk pierwszy (Tak).
Dim Kom, Styl, Tytul
Dim Odp, Kom, Styl, Tytul
Dim Odp
Dim Odp
Opisane przykłady możemy przetestować w następujący sposób:
Private Sub CommandButton1_Click()
|