unit uMessageBox;
{
MessageBox
Messagebox służy do wyświetlania okienek dialogowych. jego budowa jest następująca:
MessageBox(const Text: PAnsiChar, const Caption: PAnsiChar, Flags: Integer)
|
const Text:PansiChar - tekst pojawiający się w okienku
const Caption:PansiChar - tekst pojawiający się w nagłówku
Flags: Integer - flagi, czyli rodzaje przycisków, dodatkowe dymki:
Flagi dzielą się na dwie grupy:
Przyciski
|
MB_OK
|
Przycisk OK
|
|
MB_OKCANCEL
|
Przycisk OK i Anuluj
|
|
MB_YESNO
|
Przycisk Tak i Nie
|
|
MB_YESNOCANCEL
|
Przycisk Tak, Nie, Anuluj
|
|
MB_RETRYCANCEL
|
Przycisk Ponów próbę i Anuluj
|
|
MB_ABORTRETRYIGNORE
|
Przycisk Przerwij, Ponów próbę i Zignoruj
|
Dymki
|
MB_ICONWARNING
|
- Ikona trójkąta ostrzegawczego
|
|
MB_ICONINFORMATION
|
literka "i" w dymku
|
|
MB_ICONQUESTION
|
"?" w dymku
|
|
MB_ICONERROR
|
'x' w czerwonym kółku
|
Aby w okienku umieścić dwie lub więcej flag, trzeba je oddzielić słowem "or"
Przykład:
Application.MessageBox('Rozumiesz?','Okienko', MB_YESNO. or MB_ICONQUESTION);
|
Po uruchomieniu ukaże się okienko z przyciskami "Tak" i "Nie" oraz z pytającym dymkiem.
Powstało teraz z kolei pytanie: jak wykryć, który
przycisk kliknał użytkownik? Otóż funkcja MessageBox zwraca wartość
typu integer, która wskazuje który przysisk został kliknięty:
|
Wartość
|
Integer
|
Opis
|
|
IDOK
|
1
|
Kliknięto "OK"
|
|
IDCANCEL
|
2
|
Kliknięto "Anuluj"
|
|
IDABORT
|
3
|
Kliknięto "Przerwij"
|
|
IDRETRY
|
4
|
Kliknięto "Ponów Próbę"
|
|
IDIGNORE
|
5
|
Kliknięto "Ignoruj"
|
|
IDYES
|
6
|
Kliknięto "Tak"
|
|
IDNO
|
7
|
Kliknięto "Nie"
|
MessageBox zwróci wartość "0", gdy zabraknie pamięci do wyświetlenia komunikatu.
Przykład:
var
x:integer;
begin
x:= Application.MessageBox('Rozumiesz?','Okienko', MB_YESNO, or MB_ICONQUESTION);
if x=6 then //Jeżeli tak
Caption:='To dobrze';
if x=7 then //Jeżeli nie
Caption:='To źle';
end;
|
Na koniec jeszcze tylko powiem jak stworzyć okienko
z kilkoma liniami - trzeba odzielać określone ciągi znaków takim oto
czymś "#13"
Przykład:
Application.MessageBox('MST - ' + #13 + 'Programowanie w Delphi' +
#13#13+ 'Copyright (c) 2005 by Michał Łoński', 'Okienko z wieloma
liniami' , MB_OK + MB_ICONINFORMATION);
|
Autor: Michał Łoński
|