1

Konu: formlarda F tuşlarını kullanma

herkese merhaba,
form içinde F tuşlarını kullanmak için şöyle birşey yaptım,(siparis.scx)
form initinde.
ON KEY LABEL F2 do function_F2
ON KEY LABEL F3 do function_F3
...
load'ında
SET PROCEDURE TO siparisy additive
unload da
ON KEY LABEL F2
ON KEY LABEL F3
....
ve birde prgdosyası oluşturdum(siparis.prg)

DO FORM FORMLAR\siparis.scx
DO menu
RETURN
Procedure Function_F4
With _vfp.ActiveForm.command1
    If .Visible=.T.
        .Click()
    Else
    Endif
ENDWITH
şeklinde kod yazdım
sorunum şöyle
siparis formunu açıyorum
F2 yapıp kod arama için başka bir form çalıştırıyorum(kod.scx)
ve o formda da 2 tane command buton var(onlara F tuşlarından atama yapmadım)
siparis.scx teki F komutları kod.scx tede çalışıyor, bunu nasıl engelleyebilirim.
command butonların visible ,yada enable değerleri ile oynayarak yapabilirm sanırım,ama her butona bastığında(yada  F tuşlarına bastığında)  visible = .f. yapmak yerine başka bir yolu varmı
yardımlarınız için şimdiden teşekkür ederim

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

2

Re: formlarda F tuşlarını kullanma

1. çözüm
ON KEY LABEL hiç kullanma. Onun yerine Formun KeyPress metedunu kullan (doğrusu bu)

2. çözüm
init'e yazdığını activate, unloada yazdığını deactivate metoduna yaz

3

Re: formlarda F tuşlarını kullanma

Keypress i nasıl kullanabilirim örnekleyebilirmisin

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

4

Re: formlarda F tuşlarını kullanma

Merhaba..
Bu forumdan daha önce aşağıdaki şekilde yardım almıştım..
iyi çalışmalar..


**********
LPARAMETERS nKeyCode, nShiftAltCtrl
thisform.f4tus=0
do case
case nkeycode=-3
thisform.f4tus=1
thisform.lst
case nkeycode=-8
thisform.sil
case nkeycode=-1
thisform.kaydet
case nkeycode=134
thisform.CIKIS
endcase
*****************

5

Re: formlarda F tuşlarını kullanma

bahattin yazdı:

Merhaba..
Bu forumdan daha önce aşağıdaki şekilde yardım almıştım..
iyi çalışmalar..


********** form keypress event code ***************
LPARAMETERS nKeyCode, nShiftAltCtrl
thisform.f4tus=0
do case
case nkeycode=-3
thisform.f4tus=1
thisform.lst
case nkeycode=-8
thisform.sil
case nkeycode=-1
thisform.kaydet
case nkeycode=134
thisform.CIKIS
endcase
*****************


formun keypreview özelliği ni de .T. yapmayı unutmayin

6

Re: formlarda F tuşlarını kullanma

formun keypress ine aşağıdakini yazdım, keypreview ide .t. yaptım ama sadece F4 ve F3 çalışıyor diğerleri çalışmıyor

LPARAMETERS nKeyCode, nShiftAltCtrl
DO case
CASE nkeycode = -3 && F4
thisform.command1.click
CASE nkeycode = -1 &&F2
thisform.command2.Click
CASE nkeycode = -2 &&F3
thisform.command5.click()
CASE nkeycode = -9 &&F10
thisform.command4.click()
ENDCASE

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

7 Son düzenleyen, cetinyasar (27.11.2006 08:42:40)

Re: formlarda F tuşlarını kullanma

Tarık bence keypress ile uğraşma hiç, formuna bir menü yerleştir ve o menünün kısa yollarına F tuşlarını istediğin gibi tanımla.
Eskiden bizde bu kısa yolları koyuyorduk programa ama kısa yollar çoğaldıkça iş kontrolden çıkmaya başlıyor. Hem kullanıcıda daha rahat ediyor, her yerde alışmış olduğu gibi bir menu olunca programın kullanımıda kolaylaşıyor. Ayrıca unuttuğu kısa yol tuşlarını buradan bulabiliyor.
Eğer mümkünse birde fare için Shortcut menu yerleştir. Çoğu kullanıcı ile program açılır açılmaz ekranın herhangi bir alanına muhakkak sağ fare ile tıklıyor. Acayip kullanışlı oluyor ve en güzeli bu menuyu dinamik olarak oluşturabiliyorsun.
Bunun dışında bir önerim daha olacak eğer mümkünse Toolbar kullan ve çok sık kullanılan tuşlarıda buraya yerleştir. Göreceksin herşey çok daha güzel olacak. Eğer office 2007'yi bir incelersen adamlar menu olayını neredeyse tamamen ortadan kaldırmışlar ve herşeyi toolbar üzerinde göstermeye başladılar. Eh bence onlar bu işi biliyor ne kadar tekel vs. gibi karşı çıkanlar olsada bence güzel şeyler yapıyorlar. Örnek almaya değer.
Çok uzattım pardon smile

Bu arada formun load kısmına SET SYSMENU TO koyarsan büyük ihtimalle sorunun çözülmesi gerekiyor.


Kolay gelsin.

8

Re: formlarda F tuşlarını kullanma

F Tuşlarını özellikler istiyorlar ,onlarla daha seri çalışılıyormuş.
formun load ına
SET SYSMENU TO
yazdım
F2 çalıştı ,F10 çalışmadı yine,
birde çıkışta SET SYSMENU to komutunu eski haline nasıl döndüreceğim

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

9

Re: formlarda F tuşlarını kullanma

Visual Fox Pro
SET SYSMENU TO DEFAULT

F10 tuşu menuyü açıyor nasıl kullanırsın inan bende denemedim hiç
Ama menü oluşturursan hem kısa yol hemde menu olarak kullanabilirsin.

10

Re: formlarda F tuşlarını kullanma

cetinyasar yazdı:

Tarık bence keypress ile uğraşma hiç, formuna bir menü yerleştir ve o menünün kısa yollarına F tuşlarını istediğin gibi tanımla.
Eskiden bizde bu kısa yolları koyuyorduk programa ama kısa yollar çoğaldıkça iş kontrolden çıkmaya başlıyor. Hem kullanıcıda daha rahat ediyor, her yerde alışmış olduğu gibi bir menu olunca programın kullanımıda kolaylaşıyor. Ayrıca unuttuğu kısa yol tuşlarını buradan bulabiliyor.
Eğer mümkünse birde fare için Shortcut menu yerleştir. Çoğu kullanıcı ile program açılır açılmaz ekranın herhangi bir alanına muhakkak sağ fare ile tıklıyor. Acayip kullanışlı oluyor ve en güzeli bu menuyu dinamik olarak oluşturabiliyorsun.
Bunun dışında bir önerim daha olacak eğer mümkünse Toolbar kullan ve çok sık kullanılan tuşlarıda buraya yerleştir. Göreceksin herşey çok daha güzel olacak. Eğer office 2007'yi bir incelersen adamlar menu olayını neredeyse tamamen ortadan kaldırmışlar ve herşeyi toolbar üzerinde göstermeye başladılar. Eh bence onlar bu işi biliyor ne kadar tekel vs. gibi karşı çıkanlar olsada bence güzel şeyler yapıyorlar. Örnek almaya değer.
Çok uzattım pardon smile

Bu arada formun load kısmına SET SYSMENU TO koyarsan büyük ihtimalle sorunun çözülmesi gerekiyor.


Kolay gelsin.


Önerim cetinyasar gibi,
standart islemler icin add,edit,delete vs toolbar kullanman ,
rapor cesitli ihtiyaclar icin shortcut menu kullanman

kullanıcı toolbar ve sag menude aradigini sürekli bulduktan sonra gercekten kullanisli olacaktir

11

Re: formlarda F tuşlarını kullanma

Yanlış hatırlamıyorsam VFP için fonksiyon tuşlarının bazıları özeldir. Tasarım anında yakalamıyor ama exe halde yakalıyor. F1 hariç o tamamen özel. Ama arkadaşların dediği yöntemleri kullanman daha iyi, formun keypress özelliklerinde yakala. Hem yönetimi kolay hem sorunsuz çalışır.

12

Re: formlarda F tuşlarını kullanma

yani F10'un fendi keypress i yendi mi oluyor smile

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

13 Son düzenleyen, metin (29.11.2006 12:34:29)

Re: formlarda F tuşlarını kullanma

tarik yazdı:

F Tuşlarını özellikler istiyorlar ,onlarla daha seri çalışılıyormuş.
formun load ına
SET SYSMENU TO
yazdım
F2 çalıştı ,F10 çalışmadı yine,
birde çıkışta SET SYSMENU to komutunu eski haline nasıl döndüreceğim


load'ın başına
push menu _msysmenu
yaz

çıkışta da
pop menu _msysmenu
yaz

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com