• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

scrollbar ile listwiew scroll

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Merhaba arkadaşlar,

Harici scrollbar ile listwewdaaşağı yukarı yapabiliyormuyuz?

Frame harici bir çözüm amacı ile konu açılmıştır.
 
bu işlem baya ugraştıracak iş, belki işinizi görür aşağıdaki kodları bir deneyin.
kırmızı yerleri kendiniz farklı sayılar girerek sonuç alabilirsiniz veya nesnenin min max özelliklerine sayı girerek sonuçları gözlemleyin

Kod:
Private Sub ScrollBar1_Change()
ScrollBar1.Min = [COLOR="red"]1[/COLOR]
ScrollBar1.Max = [COLOR="Red"]ListView1.ListItems.Count[/COLOR]
son = ScrollBar1.Value
If ListView1.ListItems.Count >= son Then
ListView1.SetFocus
ListView1.ListItems(son).Selected = True
ListView1.ListItems(son).EnsureVisible
ListView1.ListItems(son).ForeColor = 255
End If
End Sub

Kod:
Private Sub ScrollBar1_Change()
ScrollBar1.SmallChange = [COLOR="red"]ScrollBar1.Max / 100[/COLOR]
ScrollBar1.LargeChange =[COLOR="red"] ScrollBar1.Max / 10[/COLOR]
ListView1.Top = -ScrollBar1.Value
End Sub

Kod:
Private Sub ScrollBar1_Change()

ScrollBar1.SmallChange = [COLOR="red"]ScrollBar1.Max / 100[/COLOR]
ScrollBar1.LargeChange = [COLOR="red"]ScrollBar1.Max / 10[/COLOR]
ListView1.Left = -ScrollBar1.Value

End Sub
 
Halit bey teşekkürler

1. kod işimi görüyor ..

fakat scrollbar aşağıyıkarı kaydırma çubuğunun boyu hep sabit .
listeye göre uzayıp kısalan bir şey yapabilirmiyiz?
 
kaydırma çubuğu elbette sabit olacaktır. Eğer kaydırma çubuğunu da aynı boyutta olmasını istiyorsanız. Formunuzun açılş bölümüne bu kodu ekleyin.

Kod:
ScrollBar1.Height = ListView1.Height

diğer taraftan ListView1 nesnesime veriler alındıktan sonra bu kodu ekle

Kod:
ScrollBar1.Max = ListView1.ListItems.Count

Bir de öz eleştiri bu gibi sorularınızda örnek dosyanızı ekleyiniz.
 
kaydırma çubuğu elbette sabit olacaktır. Eğer kaydırma çubuğunu da aynı boyutta olmasını istiyorsanız. Formunuzun açılş bölümüne bu kodu ekleyin.

Kod:
ScrollBar1.Height = ListView1.Height

Bir de öz eleştiri bu gibi sorularınızda örnek dosyanızı ekleyiniz.

Haklısınız :)
Fakat sanırım ben yalış tarif ettim.
Ekteki gibi göreselde daha iyi anlaşıalcaktır. Bahsettiğim yer.
Web sayfasından aldım görüntü örneiğini hani burada sayfanın yüksekliğine göre o görünen kısım uzayıp kısalıyor ya bahsettiğim şey bu idi :)
 

Ekli dosyalar

  • scr.jpg
    scr.jpg
    11.7 KB · Görüntüleme: 3
Merhaba arkadaşlar,

Harici scrollbar ile listwewdaaşağı yukarı yapabiliyormuyuz?

Frame harici bir çözüm amacı ile konu açılmıştır.


Haklısınız :)
Fakat sanırım ben yalış tarif ettim.
Ekteki gibi göreselde daha iyi anlaşıalcaktır. Bahsettiğim yer.
Web sayfasından aldım görüntü örneiğini hani burada sayfanın yüksekliğine göre o görünen kısım uzayıp kısalıyor ya bahsettiğim şey bu idi :)

Keşke 1 nolu mesajınıza bunları zamanında yazsaydınız iyi olurdu boşuna uğraştık herhalde;
 
Sorunun tam anlaşılmadığını düşündüm :)
Yine ekte gösterdiğim bölüm boyu sürekli aynı kalıyor.
Misal hiç veri olmasa bile o aynı boyda.
Halbuki ya hiç olmaması ya da tam boyunda olması gerekir ...
 

Ekli dosyalar

  • scr.jpg
    scr.jpg
    8 KB · Görüntüleme: 2
Kod:
Private Sub ScrollBar1_Change()


With Listwiew1
satırsayısı = Round(.Height / 13, 0)
ScrollBar1.Min = 1
ScrollBar1.MAX = Round(.ListItems.Count / satırsayısı, 0)
'366 listwiew yüksekliğe- 28 satır sıgıyor


son = (ScrollBar1.Value * satırsayısı)

If son = satırsayısı Then son = 1
If son > .ListItems.Count Then son = .ListItems.Count
If .ListItems.Count >= son Then
.SetFocus
.ListItems(son).Selected = True
.ListItems(son).EnsureVisible
.ListItems(son).ForeColor = 255

End If
End With
End Sub

Bu şekilde bir nebze olsun istediğime ulaştım.
 
Geri
Üst