Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.951 pregleda

Najnovija ↓

Problem sa MsgBox-om i OnKeyPress 20.02.2005. u 20:34 · pre 264 meseca #1
Imam sledeci problem:

Code:

proc Kontrola.KeyDown
begin
  if Key = VK_RETURN then
  begin
    ...
    ...
    if MessageDlg('Da li zelite opet?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      ...
  end;
end;


Problem je sto ako se stisne Enter na MsgBox-u, ponovo se poziva Kontrola.OnKeyDown i posto je pritisnut enter prolazi [if Key = VK_RETURN] proveru (naravno nece ako se klikne misem dugmad u MsgBox-u)...
Probao sam i sa App.PcsMsgs posle MsgBox poziva ali ne radi...
Ima li neki nacin da ocistim bafer tastature posto ocigledno MsgBox prosledjuje poruku o pritisnutom tasteru, a ne guta poruku?
Re: Problem sa MsgBox-om i OnKeyPress 20.02.2005. u 20:46 · pre 264 meseca #2
Na primer:

Code:

var MozeDalje:Boolean;

proc Kontrola.KeyDown
begin
  if (Key = VK_RETURN) and MozeDalje then
  begin
    ...
    ...
    MozeDalje := False;
    if MessageDlg('Da li zelite opet?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      ...
    MozeDalje := True;
  end;
end;

Re: Problem sa MsgBox-om i OnKeyPress 20.02.2005. u 21:01 · pre 264 meseca #3
Ne razumes, tako nece ni doci do msgbox-a prilikom pritiskanja entera, nema nacina da odredim da li je enter stisnut u kontroli ili u msgbox-u.
Re: Problem sa MsgBox-om i OnKeyPress 20.02.2005. u 21:21 · pre 264 meseca #4
Citat:
_v!rus_: Imam sledeci problem:
Code:

proc Kontrola.KeyDown
begin
  if Key = VK_RETURN then
  begin
    ...
    ...
    if MessageDlg('Da li zelite opet?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
      ...
  end;
end;
Erm, kod mene to radi OK...
Re: Problem sa MsgBox-om i OnKeyPress 20.02.2005. u 23:12 · pre 264 meseca #5
Jao!
Ovde sam napisao Kontrola.OnKeyDown, a u mom kodu gde je problem stoji Kontrola.OnKeyUp... idiot...

Sada radi, hvala!

...samo teorijski...problem i dalje stoji...
Code:

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_RETURN then
    MessageDlg('Da li zelite opet', mtInformation, [mbYes, mbNo], 0);
end;


;)
Re: Problem sa MsgBox-om i OnKeyPress 23.02.2005. u 09:39 · pre 264 meseca #6
Code:

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var aevent: TKeyEvent;
begin
  if Key = VK_RETURN then begin
    aevent := Edit1.OnKeyUp;
    Edit1.OnKeyUp := nil;
    MessageDlg('Da li zelite opet', mtInformation, [mbYes, mbNo], 0);
    Edit1.OnKeyUp := aevent;
end;


Ovo bi trebalo da odradi. Samo, moram da kazem da je ipak neubicajeno da se dijalozi ispucavaju na ovakvim mestima...

Rajko
Re: Problem sa MsgBox-om i OnKeyPress 23.02.2005. u 14:03 · pre 264 meseca #7
Zasto neobicno?
To je bio samo deo veceg koda koji radi pretragu, samo sam izolovao problem radi lakse ilustracije. Kada dodje do kraja pretrage program pita da li korisnik zeli da pretrazuje opet od pocetka...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme