08-03-2019, Saat: 11:51
iyi günler
form üzerindeki button lara kısayol atıyorum.
Klavyeden Alt+F1 .. Alt+F12 arası tuşladığında
önce Alt+F1 basılmış gibi işlem görüyor sonra sadece F1 basılmış gibi işlem yapıyor.
tüm tuş tanımlarında aşağıdaki gibi yaparak sorun çözülüyor ama kod kalabalığı oluyor.
F1 .. F12 lerin Onkeypress olayına tanımlamak isteyince Key:Char nedeni ile tip uyuşmazlığı oluyor.
Onkeypress olayında Key:Char
KeyDown veya KeyUp Key: Word
kullandığım ve iki tuşa basılmış gibi algılayan kod aşağıda
form üzerindeki button lara kısayol atıyorum.
Klavyeden Alt+F1 .. Alt+F12 arası tuşladığında
önce Alt+F1 basılmış gibi işlem görüyor sonra sadece F1 basılmış gibi işlem yapıyor.
tüm tuş tanımlarında aşağıdaki gibi yaparak sorun çözülüyor ama kod kalabalığı oluyor.
F1 .. F12 lerin Onkeypress olayına tanımlamak isteyince Key:Char nedeni ile tip uyuşmazlığı oluyor.
Onkeypress olayında Key:Char
KeyDown veya KeyUp Key: Word
procedure Tkapifrm.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState); begin if (Shift = [ssAlt]) and (Key = VK_F1) then begin bt_formul_al.click; Key := #0; end; if (Key = VK_F1) then begin bt_ilk.Click; Key := #0; end; end;
kullandığım ve iki tuşa basılmış gibi algılayan kod aşağıda
procedure Tkapifrm.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState); begin if (Key = VK_F1) then bt_ilk.Click; // F1 ilk kayıt butonuna basıldı if (Key = VK_F2) then bt_onceki.Click; // F2 onceki butonuna basıldı if (Key = VK_F3) then bt_sonraki.Click; // F3 sonraki butonuna basıldı if (Key = VK_F1) and (Shift = [ssAlt]) then bt_formul_al.Click; // Alt+F1 Formul al // if (Shift = [ssAlt]) and (Key = VK_F1) then bt_formul_al.Click; // Alt+F1 Formul al end;
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)