herkese merhaba.aşağıdaki kod ile formun üzerindeki nesneler üzerinde gezebiliyorum. hiç bir şekilde hata vermiyor.
ama bir sorunum var.
örneğin formun üzerine 9 tane dbedit 5 tene bitbtn 5 tane de edit koydum.
ok tuşarıyla hareket ettiğimde dbedit bloğunun içine girdiğimde editlerin ve bitbtin nin içine geçmiyor.ancak tab tuşuyla bitbtn veya editlerin içine geçebiliyorum.
bu sorunu nasıl çözebilirim.
bir de dxgrid kullandım formda ok tuşlarıyla hereket ettiğimde gridin içine giriyor ve hemen çıkıyor. kayıtlarda gezme işlemini yapamıyorum.
inşallah acıklayıcı olmuşumdur.
biraz anlatma sorunum varda.
çok teşekür ediyorum.
kolay gelin..
procedure TMerkezTeskilati.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = VK_DOWN) or
(Key = VK_RETURN)) then
begin
key := 0;
self.Perform(WM_NEXTDLGCTL, 0, 0) end
else if (Key = VK_UP) then
begin
key := 0;
self.Perform(WM_NEXTDLGCTL, 1, 0) end;
end;
ok tuşları ile geçme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Ademcicek Demişki
Kolay gelsin.
Ben bunu DBGrid de Aktif Olan kontrolun dbgrid olup olmadığını sorguluyorum aktifse gerekli işlemleri yaptırtıyorum kodumu aynı şekilde veriyorum hiç bileşen kullanmadığım için dxGrid bileşenin de kodumu deneyemiyorum açıklamalı bir şekilde kullanmış olduğum kod aşağıda umarım işine yarar.dxgrid kullandım formda ok tuşlarıyla hereket ettiğimde gridin içine giriyor ve hemen çıkıyor. kayıtlarda gezme işlemini yapamıyorum.
Kod: Tümünü seç
procedure TCariAcilisFrm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then { Eğer Enter basılmışsa}
if not (ActiveControl is TDBGrid) then
begin// TDBGrid üzerinde değilse}
Key := #0; { }
Perform(WM_NEXTDLGCTL, 0, 0); { }
end
else
if (ActiveControl is TDBGrid) then// TDBGridd ise}
with TDBGrid(ActiveControl) do
if selectedindex < (fieldcount - 1) then// Alanı bir arttır }
selectedindex := selectedindex +1
else
Begin
AdoDataSet1.Next; // Bir sonraki kayıta atla
if AdoDataSet1.Eof Then //Tablonun sonunda olup olmadığını kontrol et.
AdoDataSet1.Append; // Tablo sonuna ulaştıysan yeni kayıt ekle
SelectedIndex := 0; //ilk sutuna uç
End;
end;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.