Delphi’nin bir scrollbar’a (kaydırma çubuğu) sahip TMemo, TListBox, TStringGrid ve TListView gibi birçok nesnesi bulunmakta. Nesnenin içindeki elemanlar nesnenin yüksekliğine sığmadığında otomatik olarak dikey bir scroollbar oluşturulur. Bu bar ile liste içerisinde hareket edebilirsiniz. Bazen listede istediğiniz bir elemanı göstermek için kaydırma çubuğunu kontrol etmeniz gerekebilir. Aşağıdaki örneklerdeki gibi SendMessage ile nesneye mesaj göndererek listenin istediğiniz konuma kaymasını sağlayabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//Kaydırma çubuğunu en alta konumlandır. SendMessage(KaydirilacakNesneninAdi.Handle, WM_VSCROLL, SB_BOTTOM, 0); //Kaydırma çubuğunu en üste konumlandır. SendMessage(KaydirilacakNesneninAdi.Handle, WM_VSCROLL, SB_TOP, 0); //Kaydırma çubuğunu bir satır yukarı kaydır. SendMessage(KaydirilacakNesneninAdi.Handle, WM_VSCROLL, SB_LINEUP, 0); //Kaydırma çubuğunu bir satır alta kaydır. SendMessage(KaydirilacakNesneninAdi.Handle, WM_VSCROLL, SB_LINEDOWN 0); //Kaydırma çubuğunu bir sayfa yukarı kaydır. SendMessage(KaydirilacakNesneninAdi.Handle, WM_VSCROLL, SB_PAGEUP, 0); //Kaydırma çubuğunu bir sayfa yukarı kaydır. SendMessage(KaydirilacakNesneninAdi.Handle, WM_VSCROLL, SB_PAGEDOWN, 0); |
SendMessage‘in ikinci parametresi olan WM_VSCROLL (Windows Messsage Vertical Scroll) değerini WM_HSCROLL yaparsanız yatay kaydırma çubuğunu kontrol edersiniz. Bu durumda 3 parametredeki değerler yerine şunları kullanmalısınız: SB_LEFT, SB_RIGHT, SB_PAGELEFT,SB_PAGERIGHT. Tüm WM_HSCROLL parametrelerini görmek için buraya, VM_VSCROLL parametrelerini görmek için buraya tıklayın.