• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Soru Listboxlar yatay kaydırma çubuğu

Refaz 5

Refaz

Destek Ekibi
Joined
Aug 11, 2021
Messages
5,207
Solutions
662
Reaction score
5,106
Katkı
%7.32
Excel V
Office 2024 TR
Konu Sahibi
Merhaba.

Çok araştırdım ama bulamadım.
Şimdi iki adet listbox var birisini başlık diğerini veriler için kullanmak için.

Verinin olduğu listboxtta yatay kaydırma çubuğunu sağa sola kaydırınca başlıkların olduğu listboxttaki yatay kaydırma çubuğu aynı anda paralel harekettir olayı lazım.

Dosya eklemedim bunun için gerek olmaz diye.Arşivinde vs.. olupta paylaşan olursa sevinirim.
 
Konu Sahibi
Ayrıca stackoverflow sitesine baktınız mı?
Burda bulamayıp alttaki forumdan bulmuştum ve öncekş mesajda yazdığım hata oluyordu.

Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
 
Konu Sahibi
Muhtemelen bu işi API çözer ama ben API kullanmayı bilmiyorum.
Bende bilmiyorum ve zaten çok çok gerekli olmadıkça uzman kişiler Api kullanmayı tavsiye etmiyorlar ama tabii bazen mecbur kullanıyoruz :)
 
Burda bulamayıp alttaki forumdan bulmuştum ve öncekş mesajda yazdığım hata oluyordu.

Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
Bu kodlar VB6 için geçerli gibi görünüyor hocam, "Scroll" eventi excelde yok maalesef.

Hwnd kodundaki hatayı çözdüm hocam orada sorun yok ama aşağıdaki kodda listbox hwnd değerlerini 0 (Sıfır) alıyor onu çözemedim.

HTML:
Code:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Kodu ekleyen kişi LbxInfo.hwnd = GetFocus ile hwnd değerini alacağını iddia etmiş ama her defasında 0 (Sıfır) getiriyor.

Ekli excel kitabında hWnd değerini almayı çözen kodlar var. Fakat yukarıda da bahsettiğim gibi listboxların hwnd lerini almamız lazım onu çözemedim.

FindWindows ile alınıyordur muhtemelen ama içindeki parametrelere ne yazılacağı hakkında en ufak bir fikrim yok.

Bu arada dosya içindeki hiç bir kod bana ait değil. Muhtelif sitelerden bulup ekledim.
 

Attachments

Konu Sahibi
LbxInfo.hwnd
Sağolun bendede yukardaki kısım hata vermişti ve unuttum ama lbxinfo parapetreden geliyordu ve listbox du.
Listbox özelliklerindede hwnd görememiştim.Dosyayı akşama doğru bir deneyeyim.
 
Last edited:
Saşolun bendede yukardaki kısım hata vermişti ve unuttum ama lbxinfo parapetreden geliyordu ve listbox du.
Listbox özelliklerindede hwnd görememiştim.Dosyayı akşama doğru bir deneyeyim.
Hocam şimdi farkettim eklediğim kodlar farenin orta topu ile yukarı aşağı kaydırma kodlarıymış. Deneme yaparken farkettim. Yani kısacası bu kodlar da işe yaramaz. Burada da patladık. En azından elimizde farenon orta topu ile yukarı aşağı kaydırma kodları oldu orası ayrı tabi :)
 
Konu Sahibi
:)
Fare kaydırma olayı benim arşivdede var ama hata olursa excel çöküyor bundan dolayı oda problem :)
FAre top olayı comboboxlara geçerli oluyor abey.
Neyse artık bekleyelim bakalım.
Burada da patladık. En azından elimizde farenon orta topu ile yukarı aşağı kaydırma kodları oldu orası ayrı tabi
 
:)
Fare kaydırma olayı benim arşivdede var ama hata olursa excel çöküyor bundan dolayı oda problem :)
FAre top olayı comboboxlara geçerli oluyor abey.
Neyse artık bekleyelim bakalım.
Evet fazlasıyla çökmeler yaşanıyor.
 
:)
Fare kaydırma olayı benim arşivdede var ama hata olursa excel çöküyor bundan dolayı oda problem :)
FAre top olayı comboboxlara geçerli oluyor abey.
fare ile dikey kaydırmada combobox ve listboxta sorun yaşamadım.
breakpoint ile adım adım kod kontrolü yapmak istediğinizde
scrool kodlarını devre dışı bırakmanız lazım.
Yoksa excel çöküyor.
 
Konu Sahibi
breakpoint ile adım adım kod kontrolü yapmak istediğinizde
scrool kodlarını devre dışı bırakmanız lazım.
Yoksa excel çöküyor
Evet abey bunu gözlemlemiştim :)
Ayrıca hata oluncada çöküyordu.
 
Konu Sahibi
Bu kodlar VB6 için geçerli gibi görünüyor hocam, "Scroll" eventi excelde yok maalesef.

Hwnd kodundaki hatayı çözdüm hocam orada sorun yok ama aşağıdaki kodda listbox hwnd değerlerini 0 (Sıfır) alıyor onu çözemedim.

HTML:
Code:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Kodu ekleyen kişi LbxInfo.hwnd = GetFocus ile hwnd değerini alacağını iddia etmiş ama her defasında 0 (Sıfır) getiriyor.

Ekli excel kitabında hWnd değerini almayı çözen kodlar var. Fakat yukarıda da bahsettiğim gibi listboxların hwnd lerini almamız lazım onu çözemedim.

FindWindows ile alınıyordur muhtemelen ama içindeki parametrelere ne yazılacağı hakkında en ufak bir fikrim yok.

[COLOR=%s]Bu arada dosya içindeki hiç bir kod bana ait değil. Muhtelif sitelerden bulup ekledim.[/COLOR]
Dosyayı şimdi inceledim. GetFocus bu sadece yukardaki kodda var başka bir yerde yok.Bence bundan dolayı sıfır oluyor normalde GetFocus boş sonuç veriyor ama class içinde hwnd Long olarak tanımlandığı için sıfır oluyor.
Kısaca GetFocus a değer atanmıyor.
 
Konu Sahibi
GetFocus olayı api koduymuş biraz araştırınca.
Değerler geliyor ama birşey olmuyor.

Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Konu Sahibi
Ayrıca alttaki kod dosyada var ama hiç bir yerde kullanılmamış abey.Bence olay burda bitiyor ama nasıl olacak parametre içine listbox adlarını yazınca hata veriyor.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Ayrıca alttaki kod dosyada var ama hiç bir yerde kullanılmamış abey.Bence olay burda bitiyor ama nasıl olacak parametre içine listbox adlarını yazınca hata veriyor.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Bence adım adım ilerliyoruz. Bu işi yapabileceğiz gibi geliyor bana.
 
Konu Sahibi
Bence adım adım ilerliyoruz. Bu işi yapabileceğiz gibi geliyor bana.
İnşaAllah :)
Bence devrim gibi birşey olur çözülürse :)
Bugün ve haftasonu çok vaktim olacak teferruatlıca bende uğraşacağım.
 
İnşaAllah :)
Bence devrim gibi birşey olur çözülürse :)
Bugün ve haftasonu çok vaktim olacak teferruatlıca bende uğraşacağım.
nesnenin ya da pencerenin hWnd özelliği ile API kullanabiliyoruz anladığım kadarıyla.
API ise kabaca windowsa "bu nesne şu konumda" ya da "bu nesnenin boyutları bunlar" gibi mesajlar gönderiyor.

Şimdi bu bilgiler ışığında şöyle bir şey denesek acaba nasıl bir sonuç alırız:
1. adım: Forma 2 tane listbox ve bir tane scrollbar ekle.
2. adım: Formdaki listbox nesnelerinin sütun genişliklerini ayarla ve scrollbar özelliğini aktif et.
3. adım: scrollbar'ın max ve min değerlerini ayarla.
4. adım: scrollbar change olayında API kullanarak listboxların kaydırma çubuğu konumunu ayarla.

Bu mantıkla bir yol alabiliriz diye tahmin ediyorum. Bir kaç deneme yaptım olmadı ama sanki çözüm böyle bir şey olacakmış gibi geliyor bana.
 
Konu Sahibi
2 ve 3.yazdıklarınız benimde aklımda ama bilmiyorum olur mu?
Yada en iyisi extra bir scrollbar eklemeden başarabilmek olmazsa öylede iyi olur.
 
2 ve 3.yazdıklarınız benimde aklımda ama bilmiyorum olur mu?
Yada en iyisi extra bir scrollbar eklemeden başarabilmek olmazsa öylede iyi olur.
Ekstra scrollbar eklemeden başarabilirsek zaten muhteşem olur. Ama onun için bu sefer ilk çözmemiz gereken konu scrollbar'ın hareketinde bir olay tetikleyebilmek olacak. Ve benim o konu hakkında en ufak bir fikrim dahi yok. :oops:
 
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
burda yatay ve dikey kaydırmanın çalıştığından bahsedilmiş.
 
Konu Sahibi
Linkteki dosyaları import edip yazdıklarını uygulayacağım akşama doğru.
 
Konu Sahibi
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
burda yatay ve dikey kaydırmanın çalıştığından bahsedilmiş.
Denedim evet kaydırıyor ama mausun tekerleği ile kaydırıyor bizim istediğimiz bu değil yada ben anlayamadım dosyada.
 
Last edited:
Back
Top