Page 1 of 10

Scrolling using touchpad

Posted: 18 Jun 2007 23:05
by diarrhio
Hey Donald,

I just got a new laptop, which has a Synaptics touchpad (standard on almost any laptop these days). You can scroll windows by dragging your finger along the right edge of the touch pad. This works in every application except for XY. I'm pretty sure this used to work in XY as well on other laptops I've had (some with Synaptics touchpads and some with Alps touchpads).

Do you have any idea what is going on here? XY is the only program that doesn't respond to this. I'm assuming it's sending sending either WM_VSCROLL/WM_HSCROLL, or WM_MOUSEWHEEL messages to the windows.

Actually, I just ran SPY++ and compared message output of the XY list view and a few other windows that do scroll (Firefox, Visual Studio, Explorer). I don't see any of those messages getting sent to any of the windows. I don't know how they are scrolling! There must be some trickery going on, though I'm guessing it can't be that tricky since no other app has this issue.

Anyways, this is driving me crazy. Would you mind taking a look?

Thanks,
Dario

Re: Scrolling using touchpad

Posted: 19 Jun 2007 09:01
by admin
This concerns all scrollbars? Or just the list?

Posted: 19 Jun 2007 13:35
by diarrhio
It concerns any element in XY that has a scroll bar. So, the Tree view and List view are the most important.

I also tested it on the raw preview window, with no luck.

Posted: 19 Jun 2007 13:46
by admin
Lacking a Synaptics touchpad I see no chance to debug this. I looked into the code and saw nothing suspicious. I guess it's a VB-scrollbar-bug. Do you happen to have any other apps written in VB?

Posted: 19 Jun 2007 14:38
by diarrhio
Hmm. I don't know if any are written in VB. I guess I could always make a test one. I'll give it a go and let you know what I come up with.

Posted: 19 Jun 2007 15:15
by Gandolf
diarrhio wrote:Hmm. I don't know if any are written in VB...
If you want to try a ready made application that is written in VB6 then look at Calendar Magic from EuroSoft http://www.stokepoges.plus.com/calmag167.zip Home page is http://www.stokepoges.plus.com where there are other download sites if his home page doesn't work. Alex (the author) would no doubt be interested if you have a problem. I'm currently testing 16.8, but not on a laptop.

Posted: 19 Jun 2007 15:42
by j_c_hallgren
As I've written in my sig, I use a touchpad almost exclusively on my laptop...it's also a Synaptics (v7.9.3 05Feb04 vers via properties)...

However, I don't use the Virtual Scrolling feature very often, so never noticed this before, but now have tried it, and it doesn't work in XY for me either.

Posted: 19 Jun 2007 22:43
by diarrhio
Ok. So I just tested this by creating a VB app with a simple multi line text box (with scroll bars). Touchpad scrolling works.

Anything else you'd like me to try?

Posted: 20 Jun 2007 07:37
by admin
diarrhio wrote:Ok. So I just tested this by creating a VB app with a simple multi line text box (with scroll bars). Touchpad scrolling works.

Anything else you'd like me to try?
Yes, test a horizontal and a vertical scrollbar, thanks.

Posted: 20 Jun 2007 10:49
by diarrhio
Ok. I don't really know how to use VB at all. But here's what I've done.

My initial test just created a Rich Edit Control and a Edit Control and made sure both had Horizontal and Vertical scrolling enabled in the resource editor.

Now I just tested creating a vertical scrollbar control and docking it to the right side of the Form. I didn't see any other properties that I needed to change. Particularly, I didn't see any way to say scroll the entire form... I think you have to manually code that up (like you do in C).

Anyways, using the touchpad from w/in the form didn't work. However, if I hovered the cursor over the scrollbar control and used the touchpad, the scrollbar did scroll, but nothing else did (i.e. the thumb position moved, but nothing else in the form... a few buttons and such.. did). So the scrollbar control itself was responding to the touchpad, but only if I hovered over it. I'm assuming this is because the scrollbar wasn't "buddied" up with anything to scroll.

I'm not familar enough with VB to do any more testing without any guidance, but the testing I've done has led me to believe it's not a VB issue.

One of the things I can do is dump the log from Spy++ for messages sent to/received from XY and some other application that does scroll properly. Let me know if that will help.

Posted: 20 Jun 2007 11:20
by admin
diarrhio wrote:I'm not familar enough with VB to do any more testing without any guidance...
- throw a vertical scrollbar control on the form
- make it tall enough so that you see the "slider" (or what it's called)
- compile
- then use your magic touchpad and try to scroll the slider: it should move (nothing else will be scrolled by it -- it's just a scrollbar without a meaning apart from scrolling itself). Does the slider move?

Posted: 20 Jun 2007 11:22
by diarrhio
admin wrote: - throw a vertical scrollbar control on the form
- make it tall enough so that you see the "slider" (or what it's called)
- compile
- then use your magic touchpad and try to scroll the slider: it should move (nothing else will be scrolled by it -- it's just a scrollbar without a meaning apart from scrolling itself). Does the slider move?
Correct. I did all that, and yes, the slider does move. But I have to be hovering the cursor over the scrollbar itself for that to happen. If I'm hovering somewhere else in the form, then no, the scrollbar's slider doesn't move, which makes sense since, as you say, it's just a scrollbar without a meaning, and hence wouldn't get any scrolling messages from the form itself.

Posted: 20 Jun 2007 11:43
by admin
diarrhio wrote:
admin wrote: - throw a vertical scrollbar control on the form
- make it tall enough so that you see the "slider" (or what it's called)
- compile
- then use your magic touchpad and try to scroll the slider: it should move (nothing else will be scrolled by it -- it's just a scrollbar without a meaning apart from scrolling itself). Does the slider move?
Correct. I did all that, and yes, the slider does move. But I have to be hovering the cursor over the scrollbar itself for that to happen. If I'm hovering somewhere else in the form, then no, the scrollbar's slider doesn't move, which makes sense since, as you say, it's just a scrollbar without a meaning, and hence wouldn't get any scrolling messages from the form itself.
And when hovering the cursor over the scrollbar in XY the slider does not move??

Posted: 20 Jun 2007 12:46
by diarrhio
admin wrote:And when hovering the cursor over the scrollbar in XY the slider does not move??
Correct. I forgot to include that (important) bit of information :lol:

Posted: 20 Jun 2007 13:00
by admin
diarrhio wrote:
admin wrote:And when hovering the cursor over the scrollbar in XY the slider does not move??
Correct. I forgot to include that (important) bit of information :lol:
Okay, looks like the bug is on my side. :) I only do not see where it lurks. So, for the moment: admitted lack of support for Virtual Scrolling.

PS:
diarrhio wrote:Actually, I just ran SPY++ and compared message output of the XY list view and a few other windows that do scroll (Firefox, Visual Studio, Explorer). I don't see any of those messages getting sent to any of the windows. I don't know how they are scrolling!
Especially this information leaves me without ideas where to start trying...