MessageBox

0

Chciałbym żeby w MessageBox'ie wyświetlana była ikona i przyciski yes i no.Jak trzeba wpisać parametry , żeby tak sie stało??? Jaką treść musi mieć procedura sprawdzająca , który przycisk był naciśnięty(w MessageBox) i odpowiednio zmieniała by text w edicie????

Przeczytałem Win SDK w delphi i nie znalazłem odpowiedzi, więc prosze mnie tam nie odsyłać!!!

Za wszystkie odpowiedzi dziękuję!! ;-( [cya]

0

Chciałbym żeby w MessageBox'ie wyświetlana była ikona i przyciski yes i no.Jak trzeba wpisać parametry , żeby tak sie stało??? Jaką treść musi mieć procedura sprawdzająca , który przycisk był naciśnięty(w MessageBox) i odpowiednio zmieniała by text w edicie????

Przeczytałem Win SDK w delphi i nie znalazłem odpowiedzi, więc prosze mnie tam nie odsyłać!!!

Za wszystkie odpowiedzi dziękuję!! ;-( [cya]

sprawdzenie:
if Applciation.MessageBox(...ostatni_parametr: MB_YESNO) = ID_YES then
//wciśnięto YES

czytałeś WINSDK? :-D :-D

0

<font color="green">Przeczytałem Win SDK w delphi i nie znalazłem odpowiedzi, więc prosze mnie tam nie odsyłać!</span>
W takim razie czytać nie umiesz.. nie licz na odpowiedź.

0
Procedure TForm1.msg;
var
I : Integer;
begin
i:=Application.messagebox(0, pChar(Edit1.text+'/Treść'),pChar(Edit2.text),mb_yesno or mb_iconerror); //mb_iconinformation itd.
if i=IDYES then 
 begin
  ShowMessage('*** Naciśnięto: YES ***');
 end;
if i=IDNO then 
  begin
   ShowMessage('*** Naciśnięto: NO ***');
  end;
 end;
//i następnie pod buttonem robisz tylko "Form1.Msg;"
0

No dobra.. jak już ktoś podał rozwiązanie, to trzeba by je lekko optymalizować :)

procedure TForm1.msg;
var
I : Integer;
begin
case Application.messagebox(0, pChar(Edit1.text+'/Treść'),pChar  (Edit2.text),mb_yesno or mb_iconerror); //mb_iconinformation itd. 
of
IDYES:
begin
  ShowMessage('*** Naciśnięto: YES ***');
end;
IDNO: 
  begin
   ShowMessage('*** Naciśnięto: NO ***');
  end;
end;
0

Application.messagebox(0, pChar(Edit1.text+'/Treść'),pChar (Edit2.text),<font color="red">mb_yesno </span>or mb_iconerror);

Jeżeli masz YesNo to wystarczy sprawdzić czy wynik jest YES bo jak nie to bedzie NO :P (używamy Else i kod jest jeszcze lepszy). Mało prawdopodobne jest, że w okienku w którym user ma yes i no, kliknie jakieś Cancel :P

Zmienna i też jest niepotrzebna.
Poza tym jeżeli mamy tylko Showmessage to można też usunac begin i end.

Kod:

procedure TForm1.msg;
begin
 if Application.messagebox(0, pChar(Edit1.text+'/Treść'),pChar(Edit2.text),mb_yesno or mb_iconerror)=IDYES then 
  ShowMessage('*** Naciśnięto: YES ***')
else
  ShowMessage('*** Naciśnięto: NO ***')
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1