Új hozzászólás Aktív témák

  • Tomi_78

    aktív tag

    Na de ez a hibajelenség miért van:
    Van egy kilépésgomb a programomban, melyet így hozok létre és rendelem hozzá a kilépés kezelését végző függvényt:
    kilepgomb:=TButton.Create(form1);
                kilepgomb.Parent:=form1;
                kilepgomb.Top:=2;
                kilepgomb.Left:=2;
                kilepgomb.Caption:='Esc';
                kilepgomb.OnClick:=@kilepgombkatt;
    Ugyanakkor az ESC billentyű lenyomásával is szeretném vezérelni a kilépést, ezért ez van a FormKeyDown-ban:
    if Key=VK_ESCAPE then
         kilepgombkatt(form1)
      else (...)
    A kilepgombkatt()-ban ez történik:
    procedure TForm1.kilepgombkatt(Sender: TObject);
    var valasz,stilus: integer;
    begin
     stilus:=MB_ICONQUESTION + MB_YESNO;
     valasz:=Application.MessageBox('Biztosan ki akarsz lépni?', 'Megerősítés', stilus);
     if valasz=IDYES then close;
    end;
    Ha rákattintok egérrel a gombra és a NO-t választom, és utána egér helyett az ESC gombbal próbálnám ezt megint aktivizálni, akkor nem történik semmi. Magyarán ezután csak az egérkattintással tudok kilépni.
    Miért van ez így; mi történik a programban és hogyan javítható?

Új hozzászólás Aktív témák

Hirdetés