ctrl kombinasyonlarını engelleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

İş çok uzadı gibime geliyor :cry:

Sadece Ctrl + F5 için;

Kod: Tümünü seç

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssCtrl]) and (Key = VK_F5) then
  begin
    Key := 0;
    ShowMessage('Ctrl + F5 ''e basıldı');
  end;
end;
Bu da genel;

Kod: Tümünü seç

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssCtrl]) and (Key in [32..122]) then // ' ' boşluktan 'z' ye kadar
  begin
    Key := 0;
    ShowMessage('Ctrl tuş bileşenine basıldı.');
  end;
end;
OnKeyDown (tuşa basılı tuttukça tetiklenir), OnKeyPress (tuşa basılı tuttukça tetiklenir) ve OnKeyUp (basılan tuşu bıraktıkça bir kez tetiklenir) :idea:

Bu kadar basit bir şeye bu kadar takıldıkça programcılıkta yol almanız da zor olacaktır doğrusu :?: Takıldığınız konuda daha yazarken F1 tuşunu çekinmeden kullanmanız bu takılmalarınızı azaltacaktır :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

aslangeri yazdı:s.a.
key prese yazmayı dene
çünkü keydown olayı tuşlara basma işlemi bittikten sonra gerçekleşiyor.
Hocam yanlışım varsa düzeltin ama Ctrl - Shift - Alt gibi tuşların kontrolünü keypress yordamında kontrol edemezsiniz..
Ayrıca OnKeyDown yordamı tuşa basıldığı anda tetiklenmektedir. Keyup ise elinizi tuşun üzerinden çektiğinizde...

Gerçi ben @rsimsek hocamın yazısını sonradan gördüm o gerekli açıklamayı yapmış..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
ups... :oops: padon arkadaşlar. Delphide kontrol etmeden hatırımda kaldığı kadarı ile yazdıydım...
Verdiğim Yanlış bilgiler için özür dilerim. :duvar:
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
sga
Üye
Mesajlar: 60
Kayıt: 08 Tem 2005 12:49

Mesaj gönderen sga »

ben ilk orda denemiştim zaten olmayınca keydown olayında denedim.bunu daha önce denedim şöyle yapman lazım şundan olmuyodur diyecek biri yok mu :cry:
sga
Kullanıcı avatarı
sga
Üye
Mesajlar: 60
Kayıt: 08 Tem 2005 12:49

Mesaj gönderen sga »

sorunumu başka türlü çözmeye çalıştım.olmamasının nedenide sanırım key e sıfır atadığımızda kopyalanacak şeyin çoktan hafıza ya alınmış olması. :idea:
sga
Cevapla