Jak sprawdzic który przycisk zostal naciśnięty w MessageBox Winapi??
Nie wiem, czy zrozumiałem pytanie...
funkcja MessageDialog zwraca wartość zależną od tego, co naciśnięto, np (do tego czasu zawiesza wątek, który go wywołał):
int choice = MessageBox(Handle, "tytul_okna", "text_misydża;)", MB_YESNOCANCEL | MB_ICONQUESTION | MB_DEFBUTTON1 /*parametry*/);
if(choice == IDYES/*jak sama nazwa wksazuje - YES*/)
//co zrobić jeśli nacisięto TAK
if(choice == IDNO)
//co zrobić jeśli naciśnięto NIE
if(choice == IDCANCEL)
//co zrobić jeśli naciśnięto ANULUJ
Dzięki o to chodzilo. Ale chce teraz zrobic aby po naciśnieciu krzyżyka na oknie wyskakiwal messagebox z pytaniem czy ma zamknąć program. Mam coś takiego:
case WM_DESTROY:
int i;
i=MessageBox(0,"Czy chcesz zakończyć pracę programu","Zamknięcie",MB_YESNO | MB_ICONQUESTION);
if (i==IDYES){
PostQuitMessage(0);
}
break;
ale to niestety nie dziala.Zamyka sie gowne okno i wyskakuje messagebox. Jak to zrobić?? pewnie trzeba to przypisać pod inny komunikat. Ale jaki?? Prosze o wyrozumiałość dopiero zaczynam. :-(
//doszedlem do tego że to okno sie zamyka a nie program
P.S Czy ma ktoś jakies helpy z funkcjami do winapi??
Zamień WM_DESTROY na WM_CLOSE.
Should be good.
Dobra dziala dzieki. A czym roznia sie te komunikaty??
A co do opisu funkcji winapi, macie jakieś??
Jeden wywołuje boxa kiedy program zdechł a drugi zanim tzn kiedy się walnie X, 1 jest wywołana kiedy prog już dostał killa w systemie :D
Dobra dziala dzieki. A czym roznia sie te komunikaty??
A co do opisu funkcji winapi, macie jakieś??
To wszystko na nawet więcej w jednym pliku :> win32.hlp
Polecam się zaopatrzyć.
Skąd to ściągnąć??
Ja myślę, że może z Internetu, nie?
[choć ja nabyłem razem z BCB 6.0 Pe]
Wpisałem w google.pl "win32.hlp"+"download", pierwsza znaleziona pozycja:
http://www.codingcrew.de/programmierung/win32hlp.php
Od teraz możesz być szczęśliwym posiadaczem help`a.
PS> Nie wnikaj, że strona po niemiecku;) Trzeba ściągnąć te dwa pliki z samego dołu strony:)