klavye tuşlarına kısayol tanımlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
dilruba
Üye
Mesajlar: 39
Kayıt: 14 Oca 2005 05:06

klavye tuşlarına kısayol tanımlama

Mesaj gönderen dilruba »

merhaba arkadaşlar F1,F2 vs tuşlarına kısayol vermem gerekiyor. formun keypreview özelliği true ve kodu formun keypress özelliğine yazmama ragmen çalışmadı. Aynı formda esc . enter tuşlarının kontrolünü yaptırabiliyorum. F tuşalarını da nasıl aktif hale getirebilirim.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Bunun için Onkeydown olaylarına kodlarınızı yazmalısınız.

Kod: Tümünü seç


procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
        if key=vk_f1 then showmessage('f1 e basıldı');

end;

şeklinde kullanabilirsiniz.

Kolay gelsin.
dilruba
Üye
Mesajlar: 39
Kayıt: 14 Oca 2005 05:06

Mesaj gönderen dilruba »

formun keydown özelliğini kullanmam gerekiyormuş.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

OnKeyDown yerine OnKeyUp kullanırsanız daha sağlam olur. Çünkü KeyDown tuş basılı kaldığı sürece tetikleneceği için sürekli aynı iş / procedure de tetiklenecektir. Halbuki KeyUp bir kez çalışır :idea: Ayrıca yukarıda belirtildiği gibi bu işi form bazında yapacaksanız formun keypreview ını True ve

Kod: Tümünü seç

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key = vk_f1 then showmessage('f1 e basıldı');
end; 
OnKeyUp ı da buna benzer şekilde yazmalısınız.. :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

Konu alakası biraz olması hasebi ile bunalrı yazmayı uygun gördüm...
  • VK_LBUTTON 01 Sol mouse button
    VK_RBUTTON 02 Sağ mouse button
    VK_CANCEL 03 Control-break işlemi
    VK_MBUTTON 04 Orta mouse button (3 buttonlu mouselarda)
    VK_BACK 08 BACKSPACE
    VK_TAB 09 TAB
    VK_CLEAR 0C CLEAR
    VK_RETURN 0D ENTER
    VK_SHIFT 10 SHIFT
    VK_CONTROL 11 CTRL
    VK_MENU 12 ALT
    VK_PAUSE 13 PAUSE
    VK_CAPITAL 14 CAPS LOCK
    VK_ESCAPE 1B ESC
    VK_SPACE 20 SPACEBAR
    VK_PRIOR 21 PAGE UP
    VK_NEXT 22 PAGE DOWN
    VK_END 23 END
    VK_HOME 24 HOME
    VK_LEFT 25 SOL OK
    VK_UP 26 ÜST OK
    VK_RIGHT 27 SAĞ OK
    VK_DOWN 28 ALT OK
    VK_SELECT 29 SELECT
    VK_PRINT 2A PRINT
    VK_EXECUTE 2B EXECUTE
    VK_SNAPSHOT 2C PRINT SCREEN
    VK_INSERT 2D INS
    VK_DELETE 2E DEL
    VK_HELP 2F HELP
    30 0
    31 1
    32 2
    33 3
    34 4
    35 5
    36 6
    37 7
    38 8
    39 9
    41 A
    42 B
    43 C
    44 D
    45 E
    46 F
    47 G
    48 H
    49 I
    4A J
    4B K
    4C L
    4D M
    4E N
    4F O
    50 P
    51 Q
    52 R
    53 S
    54 T
    55 U
    56 V
    57 W
    58 X
    59 Y
    5A Z
    VK_NUMPAD0 60 Numeric keypad 0
    VK_NUMPAD1 61 Numeric keypad 1
    VK_NUMPAD2 62 Numeric keypad 2
    VK_NUMPAD3 63 Numeric keypad 3
    VK_NUMPAD4 64 Numeric keypad 4
    VK_NUMPAD5 65 Numeric keypad 5
    VK_NUMPAD6 66 Numeric keypad 6
    VK_NUMPAD7 67 Numeric keypad 7
    VK_NUMPAD8 68 Numeric keypad 8
    VK_NUMPAD9 69 Numeric keypad 9
    VK_SEPARATOR 6C Separator
    VK_SUBTRACT 6D Eksi
    VK_DECIMAL 6E Decimal
    VK_DIVIDE 6F Bölüm key
    VK_F1 70 F1
    VK_F2 71 F2
    VK_F3 72 F3
    VK_F4 73 F4
    VK_F5 74 F5
    VK_F6 75 F6
    VK_F7 76 F7
    VK_F8 77 F8
    VK_F9 78 F9
    VK_F10 79 F10
    VK_F11 7A F11
    VK_F12 7B F12
    VK_F13 7C F13
    VK_F14 7D F14
    VK_F15 7E F15
    VK_F16 7F F16
    VK_F17 80H F17
    VK_F18 81H F18
    VK_F19 82H F19
    VK_F20 83H F20
    VK_F21 84H F21
    VK_F22 85H F22
    VK_F23 86H F23
    VK_F24 87H F24
    VK_NUMLOCK 90 NUM LOCK
    VK_SCROLL 91 SCROLL LOCK
    VK_LSHIFT A0 Left SHIFT
    VK_RSHIFT A1 Right SHIFT
    VK_LCONTROL A2 Left CONTROL
    VK_RCONTROL A3 Right CONTROL
    VK_LMENU A4 Left MENU
    VK_RMENU A5 Right MENU
    VK_PLAY FA Play
    VK_ZOOM FB Zoom
Siz hayal edin...Biz yapalım TuannaSoft...
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

@tuanna hatırladığım kadarıyla bu makalelerde vardı.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba,

Bende farklı bir yol önereceğim.
Hangi komutu hangi olaya yazacağım diye düğşünmektense.

Bir tane popup menu koyuyorum sonrada visible:=false yapıyorum popup menude istediğim kısayol tuşunu çok basitçe koyuyorum sonra popup menüyü forma bağlıyorum işte mükemmel bir yol :wink:

Mesela kaydetmek için popup menüye Kaydet seçmesine Kydbutton.click yazmam yeterli.

Farklı bir yol belki işinize yarar.

Saygılarımla
Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
fatalspy
Üye
Mesajlar: 7
Kayıt: 05 Oca 2008 06:02

Re: klavye tuşlarına kısayol tanımlama

Mesaj gönderen fatalspy »

Ben bunu keypress keydown vs.. değilde şu şekilde yapmak istiyorum. Mesela programımızın formu gizli klavyeden programa bir kısayol atamak istiyorum. Bu kısayol tuşlarına aynı anda basıldığı an programın formu görünür hale gelsin istiyorum. Deepfreeze programında olduğu gibi.. Bunu nasıl Yapabilirm?
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re:

Mesaj gönderen unicorn64 »

rsimsek yazdı: KeyDown tuş basılı kaldığı sürece tetikleneceği için sürekli aynı iş / procedure de tetiklenecektir. Halbuki KeyUp bir kez çalışır
hocam yanlışım varsa düzeltin ama keydown ve keyup sadece 1 kez çalışırken keypress tuş basılı olduğu sürece çalışıyor diye biliyordum ben.
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: klavye tuşlarına kısayol tanımlama

Mesaj gönderen sabanakman »

KeyDown ve KeyPress klavye tuşundan parmağınızı çekmediğiniz sürece tekrar tekrar çalışır sadece KeyUp bir kere parmağınızı tuştan çektiğiniz anda çalışır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: klavye tuşlarına kısayol tanımlama

Mesaj gönderen Lost Soul »

esc ya da entera bastığımızda çıkan dang dong sesleri nasıl engelleriz.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: klavye tuşlarına kısayol tanımlama

Mesaj gönderen aslangeri »

Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla