klavye tuşlarına kısayol tanımlama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
klavye tuşlarına kısayol tanımlama
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.
Merhaba,
Bunun için Onkeydown olaylarına kodlarınızı yazmalısınız.
şeklinde kullanabilirsiniz.
Kolay gelsin.
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;
Kolay gelsin.
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
Ayrıca yukarıda belirtildiği gibi bu işi form bazında yapacaksanız formun keypreview ını True ve OnKeyUp ı da buna benzer şekilde yazmalısınız.. 

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;

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
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...
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
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.
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

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]
_________________
_________________
Re: klavye tuşlarına kısayol tanımlama
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?
Re:
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.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
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...

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...

- 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
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. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: klavye tuşlarına kısayol tanımlama
esc ya da entera bastığımızda çıkan dang dong sesleri nasıl engelleriz.
Re: klavye tuşlarına kısayol tanımlama
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim