StringGrid vertical (dikey) kaydırma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
StringGrid vertical (dikey) kaydırma
ilerde arama yapacak arkadaşlara detaylı erişim olması için başlığı biraz geniş tuttum..
stringgridde şoyle bir sorun yaşıyorum...colcount değerim diyelim 20
mousenin ortasındaki yuvarlak vardır ya yukarı aşağı döndürürüsünüz web sayfalarında falan yukarı aşağı gezinmek için..Onu hareket ettirince sanıyorum bu default değeri aşıyor ve out of range hatası veriyor..
Gridden hangi olaydır bu ? yada bunun max min değerleri falan varsa nasıl atanır..yada o özelliği tamamen nasıl kapatırım..tamamen kapatmak asıl tercihim tabiki...
Teşk.
stringgridde şoyle bir sorun yaşıyorum...colcount değerim diyelim 20
mousenin ortasındaki yuvarlak vardır ya yukarı aşağı döndürürüsünüz web sayfalarında falan yukarı aşağı gezinmek için..Onu hareket ettirince sanıyorum bu default değeri aşıyor ve out of range hatası veriyor..
Gridden hangi olaydır bu ? yada bunun max min değerleri falan varsa nasıl atanır..yada o özelliği tamamen nasıl kapatırım..tamamen kapatmak asıl tercihim tabiki...
Teşk.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
ben tam anlatamadım sanırım
Scroolbar özelliği aktif zaten...normalde mouse ile scrollbarı alt ve üst oklarına basarak tabiki aşağı yukarı ilerleyebiliyorsunuz..
ama mousenin ortasındaki yuvarlağı çevirdiğiniz zaman sanıyorum çok fazla ilerleme oluyor ve grid index out of range hatası alıyorsunuz..
diyorumki o mousenin ortasındaki yuvarlağı çevirdiğimizde hangi olay gerçekleşir..ve onun max min değerlerini yada step aralıklarını ayarlayabilirmiyiz...veyahut o özelliği tamamen kapatabilirmiyiz...
Teşk.
Scroolbar özelliği aktif zaten...normalde mouse ile scrollbarı alt ve üst oklarına basarak tabiki aşağı yukarı ilerleyebiliyorsunuz..
ama mousenin ortasındaki yuvarlağı çevirdiğiniz zaman sanıyorum çok fazla ilerleme oluyor ve grid index out of range hatası alıyorsunuz..
diyorumki o mousenin ortasındaki yuvarlağı çevirdiğimizde hangi olay gerçekleşir..ve onun max min değerlerini yada step aralıklarını ayarlayabilirmiyiz...veyahut o özelliği tamamen kapatabilirmiyiz...
Teşk.
- kadirkurtoglu
- Üye
- Mesajlar: 748
- Kayıt: 22 May 2005 01:20
- Konum: Uzakta Görünen Tepeden...
ben tekrar anlatamadım...
scrollbarın mouse ile nasıl ayarlandığı ile ilgilenmek istemiyorum..bu programı başka kullanıcılar kullanacak...onlara gidin tek tek scroll bar kaydırma adımlarını ayarlayın diyemem..
onun için girdde bu olay gerçekleşmesini iptal etmem lazım.. scrooll u oynattığınız anda hata alıyorsunuz..o denetim masasından ayarlasanız bile.. o yüzden ol olayı durdurmak istiyorum
scrollbarın mouse ile nasıl ayarlandığı ile ilgilenmek istemiyorum..bu programı başka kullanıcılar kullanacak...onlara gidin tek tek scroll bar kaydırma adımlarını ayarlayın diyemem..
onun için girdde bu olay gerçekleşmesini iptal etmem lazım.. scrooll u oynattığınız anda hata alıyorsunuz..o denetim masasından ayarlasanız bile.. o yüzden ol olayı durdurmak istiyorum
Selam,
Eğer TStringGrid kullanıyorsanız, OnMouseWheelDown ve OnMouseWheelUp eventlerini kullanabilirsiniz. Buradaki Handled parametresini True olarak atadığınızda, sizin event fonksiyonu içine yazdığınız kodlar kullanılacak ve Wheel mesajının default fonksiyonu çalıştırılmayacaktır.
Eğer TDBGrid kullanıyorsanız, Mouse wheel için gerekli mesajları sizin yakalamanız gerekiyor. Mesajın tam adını hatırlamıyorum, yapmanız gereken TDBGrid'den yeni bir string grid türetmek ve class içine şu fonksiyonu ekleyip mesajı yakalamak
procedure OnMouseWheel(var msg:TMessage);message WM_MOUSEWHEEL;
Burada WM_MOUSEWHEEL kısmının adını tam hatırlamadığım için attım. Bunu Windows SDK Help dosyasından bulabilirsiniz.
Kolay gelsin,
Bahadır Alkaç
NOT: Bu arada büyük ihtimalle 3. parti bir mouse sürücüsü kullanıyorsunuz, çünkü benim denemelerimde TStringGrid ve TDbGrid bileşenlerinde bahsettiğiniz sorunla karşılaşmadım.
Eğer TStringGrid kullanıyorsanız, OnMouseWheelDown ve OnMouseWheelUp eventlerini kullanabilirsiniz. Buradaki Handled parametresini True olarak atadığınızda, sizin event fonksiyonu içine yazdığınız kodlar kullanılacak ve Wheel mesajının default fonksiyonu çalıştırılmayacaktır.
Eğer TDBGrid kullanıyorsanız, Mouse wheel için gerekli mesajları sizin yakalamanız gerekiyor. Mesajın tam adını hatırlamıyorum, yapmanız gereken TDBGrid'den yeni bir string grid türetmek ve class içine şu fonksiyonu ekleyip mesajı yakalamak
procedure OnMouseWheel(var msg:TMessage);message WM_MOUSEWHEEL;
Burada WM_MOUSEWHEEL kısmının adını tam hatırlamadığım için attım. Bunu Windows SDK Help dosyasından bulabilirsiniz.
Kolay gelsin,
Bahadır Alkaç
NOT: Bu arada büyük ihtimalle 3. parti bir mouse sürücüsü kullanıyorsunuz, çünkü benim denemelerimde TStringGrid ve TDbGrid bileşenlerinde bahsettiğiniz sorunla karşılaşmadım.
TStringgrid kullanıyormuşum
şimdi dikkat ettim..bahsettiğiniz şekilde
yaparak sorunu hallettim

Kod: Tümünü seç
procedure TFrmmain.StringGrid1MouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
Handled := true;
end;