Arkadaşlar herkese selam.
Bir kayıt formum var. Aynı formda hem yeni kayıt giriliyor hemde eski kayıt çağrılıp üzerinde değişiklik yapılıyor. Eski kayıdı çağırma işi hem firma kodu alanına ilgili kodu girmekle hemde formda bulunan dbgrid de ki kayıtların herhangi birinin üzerine çift tıklamakla yapılıyor.
Ancak fima kodu alanının onexit olayında " if edit1.text='' then edit1.setfocus; diye bir kod var dolayısı ile ben grid üzerine çift tıklayamıyorum. Setfocus u nasıl İptal edebilirim. Yani edit1.setfocus:=nil veya free gibi bir komut kullanabilirmiyim. Veya bu komutu onexit olayına değilde başka bir yere mi yazmam gerekiyor. Takıldım kaldım arkadaşlar. Belli bir standartı yakalamak istiyorum kayıt formlarında. Yardımlarınız için teşekkür ederim.
"bu arada formun resmini nasıl yapıştıracağım buraya"
setfocus kontrol
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Edit1 ' in onExit yordam adının Edit1Exit(Sender: TObject) olduğunu varsayıyorum.
Grid'in onDblClick yordamına veya istediğin bir yordama şunu yazabilirsin;
Grid'in onDblClick yordamına veya istediğin bir yordama şunu yazabilirsin;
Kod: Tümünü seç
Edit1.OnExit := nil; // NotifyEvent'ı Boşa Al
edit1.Text := --- Grid'deki Bilgi ---
Edit1.OnExit := Edit1Exit; // Yordam Adı
Edit ten çıkmadan (OnExit) DBGrid in DblClick i çalışır mı
OnMouseMove ve OnMouseDown / Up a da bakabilirsiniz
Yani DBGrid in OnMouseDown unda Edit in OnExit ini iptal edip DBGrid e SetFocus ile konumlandıktan sonra Edit in OnMouseUp ı ile tekrar OnExit procedure unu atayabilirsiniz 

OnMouseMove ve OnMouseDown / Up a da bakabilirsiniz


Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Edit1'in onChange yordamına
Kod: Tümünü seç
if Edit1.Text = '' then
Edit1.onExit := Edit1Exit
else
Edit1.onExit := nil;