MOJA PASJA - PROGRAMOWANIE
   Dzisiaj jest Czwartek, 24 lipca, 2008r. Ostatnia aktualzacja miała miejsce: 10 grudnia 2006r. Homepage

Programowanie: Artykuły * FAQ * Download * Komponenty * Książki WWW: Artykuły * Narzędzia * Kursy * Darmowe * FAQ * Skrypty * Ksiązki Off-Topic: Aforyzmy * Humor Inne: Forum * Wiki * Liczniki * Linki * Chat * Grafika * Video * Inne



Wszystko o MessageBox
Autor: Vnookality    


   Umieszczanie w swoich aplikacjach dodatkowych form do wyświetlania komunikatów nie ma zbytnio sensu, chociaż klika miesięcy temu tak robiłem (uff...). Jest za to dużo ciekawszy sposób na wyPwietlanie komunikatów przez nasz program. Dzięki metodzie Application->MessageBox(AnsiString,AnsiString,Unsigned Long) możemy wyPwietlać okna o dowolnej trePci i jak dalej się okaże z wybranymi ikonami oraz przyciskami.

   Najprostszym sposobem wykorzystania tej funkcji jest przykładowy kod:

   Unit1.cpp
  void __fastcall TForm1::Button1Click(TObject *Sender)
  {
   Application->MessageBox("Przykładowy tekst okna.","Przykładowy tytuł okna",
                            MB_OK | MB_ICONINFORMATION);
  }



   Pokazuje on przykładowe okno o treści "Przykładowy tekst okna." i o tytule "Przykładowy tytuł okna". Te dwa miejsca w funkcji
Application->MessageBox() mogą być dowolne. Gorzej jest z parametrem wyświetlania przycisków (MB_OK) i stylowi ikony (w naszym przykładzie ikona informacyjna - MB_ICONINFORMATION).

   Możliwe są następujące style przycisków:

   MB_OK - wyświetla tylko przycisk OK
   MB_OKCANCEL - wyświetla przyciski OK i Anuluj
   MB_ABORTRETRYIGNORE - wyświetla przyciski Ponów, Zignoruj, Przerwij
   MB_YESNOCANCEL - wyświetla przyciski Tak, Nie, Anuluj
   MB_YESNO - wyświetla przyciski Tak, Nie
   MB_RETRYCANCEL - wyświetla przyciski Ponów Próbę, Anuluj

   i ikon:

   MB_ICONHAND - wyświetla ikonę błędu (czerwony krzyżyk)
   MB_ICONQUESTION - wyświetla ikonę pytania (znak zapytania)
   MB_ICONEXCLAMATION - wyświetla ikonę ostrzeżenia (żółty wykrzyknik)
   MB_ICONASTERISK - wyświetla ikonę informacji (mały wykrzyknik)

   No dobra. Możemy zmieniać ilość przycisków, ikony itd., ale przy wybraniu przycisków innych niż proste MB_OK (tylko przycisk OK) nie możemy sterować oknem, co ma zrobić, gdy np. użytkownik nie kliknij na Tak tylko na Nie lub jeszcze na inny przycisk.

   Aby sterować tym, co program ma robić przy kliknięciu na odpowiedni przycisk, musimy spytać się programu, jaki był wynik modalny (modal result) podanej operacji. Dla każdego przycisku jest zdefiniowana inna nazwa wyniku modalnego. Pokazuje to przykładowy kod (pyta się czy zamknąć system, czy też nie):

   Unit1.cpp
  void __fastcall TForm1::Button1Click(TObject *Sender)
  {
    if (Application->MessageBox("Czy chcesz zamknąć system?", "Zamknij system",
                                MB_YESNO | MB_ICONQUESTION) == mrYes)
    {
      ExitWindowsEx(EWX_SHUTDOWN, 0);
    }
  }



   Zwracany jest tu wynik mrYes odpowiadający kliknięciu na przycisk Yes czyli Tak. Odpowiednio dla każdego przycisku jest inna nazwa wyniku modalnego:

   IDYES - przycisk Tak
   IDNO - przycisk Nie
   IDCANCEL - przycisk Anuluj
   IDABORT - przycisk Przerwij
   IDRETRY - przycisk Ponów próbę
   IDIGNORE - przycisk Zignoruj

   Uwaga! Pamiętajmy, że aby wynik miał sens, musimy zdefiniować odpowiednie przyciski, bo jaki sens będzie miało pytanie jaki był wynik modalny, jeżeli zdefiniowaliśmy przycisk OK? To samo dotyczy ustawiania wyniku modalnego do przycisku który nie został zdefiniowany, np. mrYes do MB_ABORTRETRYIGNORE.

   

   Wasze opinie:
   Średnia ocena: 6.65/10 (43 głosów)
   
   Liczba komentarzy: 31937 (pokaż wszystkie)Skomentuj !   


Autor: Generic Ambien Data dodania: 2008-07-24
Thank You!, Order Xanax, =((, Buy Ambien online, qvv, order viagra, :-(, Phentermine Without Prescription, :(((, Adipex, :-[[[, Cialis, kpf, Buy Ultram, 5490, Cialis bestellen, jvz, Buy Cialis Online, lwsqa,


Autor: Buy DiazepamData dodania: 2008-07-24
Best Wishes!, Xanax, 8-OOO, Cheap Tramadol, :OOO, Order Valium , 337, Xanax online , 8PP, Cialis Online, dtxdgz, Buy Tramadol, 8(, Phentermine, 947567, Xanax online , >:OO, Phentermine, uuvvvi,


Autor: Valium onlineData dodania: 2008-07-24
Thank You!, viagra, %((, Cheap Phentermine, %DD, Ultram, remztf, Tramadol, uck, Order Xanax , >:[, Buy Adipex, 457553, Buy Phentermine, :-)), viagra, 984,


Autor: Buy UltramData dodania: 2008-07-24
Thank You!, Order Cialis , lxx, Cheap Ultram, fspwht, Diazepam, 8(, Phentermine 37.5mg, %-[[, generic viagra, >:-[, Ultram, :-OOO, Buy Tramadol online , botytp, Buy Ultram, hhvs, Ultram online, :-]], Cialis barato , 130, Cialis, oyajz,


Autor: Order Ambien Data dodania: 2008-07-24
Nise site., order viagra, >:[, Order Xanax, >:(, Tramadol, dpgt, Buy Valium online, yiobqf, Ultram online, fjv,


Autor: Buy Tramadol online Data dodania: 2008-07-24
Your Site Is Great!, Xanax, 3002, Buy Tramadol, 61967, Cheap Tramadol, =), Buy Ambien, 323046, Cialis, 99026, Cialis barato , 05325, Ultram online, tfzssp, Generic Valium, 493540,


Autor: Cheap TramadolData dodania: 2008-07-23
Nise site., Buy Cialis Online, 878, Buy Cialis, 200768, buy Valium no prescription, :D, Tramadol Online, >:-P, viagra, thx, Phentermine 37.5mg, 406804, Tramadol, 6505,



Stronę przygotował: Kacper Cieśla (comboy). Wszelkie prawa zastrzeżone.
Reklama * Zgłoś błąd * Kontakt * Hosting * O stronie * Sponsoring
Czas generowania strony: 1.191s