KeyDown olayı ESC ile çalışmıyor Shift+ESC ile çalışıyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

KeyDown olayı ESC ile çalışmıyor Shift+ESC ile çalışıyor

Mesaj gönderen uğur alkan »

Kod: Tümünü seç

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
F,L,K:integer;
begin
if Key = VK_escape then showmessage('Operation Stoped... ');
end.
bu kod esc tuşuna basınca çalışmıyor ancak Shift+ESC yapınca çalışıyor neden böyle acaba anlamadım ilk defa böyle bir durumla karşılaştım.
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
Begin.End
Üye
Mesajlar: 45
Kayıt: 05 Nis 2007 11:50

Mesaj gönderen Begin.End »

Kod: Tümünü seç

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
begin
  case key of
{esc}     27 : showmessage('..............');
               .
               .
               .
buna benzer bısey olabılırmı acaba?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Başka bir nesne üzerinde focus olmuşsundur.

- Form'unun KeyPreview özelliği True yaptın değil mi ? Öyle değilse başka bir event yakalıyordur ve burası mesaj veriyor sanıyorken aslında orası mesaj veriyordur... Aklıma böyle bişey geliyor...

- Yoksa bu kodun çalışıyor..
Resim
Resim ....Resim
akdatilla
Üye
Mesajlar: 292
Kayıt: 02 Nis 2006 06:04
Konum: Antalya

Re: KeyDown olayı ESC ile çalışmıyor Shift+ESC ile çalışıyor

Mesaj gönderen akdatilla »

uğur alkan yazdı:

Kod: Tümünü seç

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
F,L,K:integer;
begin
if Key = VK_escape then showmessage('Operation Stoped... ');
end.
bu kod esc tuşuna basınca çalışmıyor ancak Shift+ESC yapınca çalışıyor neden böyle acaba anlamadım ilk defa böyle bir durumla karşılaştım.
s.a.
formun Keypreview özelliğini true yaptıktan sonra aşağıdaki gibi yaparsan sadece Esc ile mesaj gösterilecektir.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_escape) and (Shift=[]) then showmessage('Operation Stoped... ');
end;

kolay gelsin.
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

KeyPreview özelliği True zaten yaptım.
Ancak ESC tuşuna tek bastığım zaman komut yorumlanmıyor
ama Shift+ESC yapınca komut yorumlanmıyor...
bu çok anlamsız bir durum diğer F1-F2... F12 sorunsuz dönüyor ama ESC dönmüyor.

Bide uygulamada Raize kullanmıştım onunla bir alakası olabilirmi.
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
forma koyduğunuz butonlardan vs. herhangi birinin cancel özelliği true ise ondan dolayı esc tuşunu yakalamıyor olabilir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

A.S.
Evet sorun raize butonlarının hepsinin Cancel özelliğinin TRUE olmasından
kaynaklanıyor. Çok Teşekkür Ederim. :D
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Cevapla