PDA

View Full Version : Permission requested from admins/mods


pro-fit2
3rd August 2006, 07:07 AM
reposted to Dev&Hack forum Aug 9th, 12:30pm PST

I'm not a developer, and only an intermediate(?) VBA programmer for my own solutions. (Though several of those are quite involved.)
I have a question that I'd like to post on the Developers forum, because I believe it falls in "their" wheelhouse.
I've read and respect the posting guidelines published for each forum and the site generally.
I've done my web search diligence, and have posted inquiry on other sites specific to my device and the particular application(s) involved. No luck.
Am requesting permission/blessing to post the following:

Keystrokes as code?
Specifically Excel Mobile keyboard shortcut Alt-PgUp/Dn

I've created several Keystroke "routines" to minimize stylus use in Excel Mobile. I've mapped to hardware buttons, and they all work great... except Alt-PgUp(and PgDn). In Excel, these key combos will scroll one screen left or right, respectively. Other similarly-coded "routines" work as expected.

I've worked around this for now by recording screentaps in Excel's horizontal scrollbar. Unfortunately, the location of that s/b depends on whether SIP is active. If it is, the vertical co-ordinates of the screentaps become irrelevant and/or potentially destructive to my intended result. I prefer to avoid "position dependent" commands whenever possible for obvious reasons.

I have several other programs at my disposal to effect the Alt-PgUp/Dn shortcut(s).... IF I knew how to define the values(?) of Alt-PgUp/Dn in a script.
(MortScript, PHMkeys, Pen Commander, Spb FullScreenKb, PDA MediaKb)

I've been all over the web, and I think I understand keystroke scan-codes and values... and how they work together. Is there something akin to an ASCII "value" for this key combination? (099/0A1; 073/081; 153/161)?
Any ideas are appreciated. I've no aversion to research or work, but can't figure out what to ask or where to look further.
(I just really need a more direct/reliable functionality to scroll entire screen at a time left/right.)
Thanks in advance if anyone can help.

Dell Axim x51v WM5 (if it matters)
(Please feel free to "re-direct"/re-locate/modify/enlighten etc.)

vijay555
3rd August 2006, 12:49 PM
pro-fit2: your post sounds like one of the very few that truly does merit going in the developer forum :) Please repost it there.

BTW, the solution to your problem sounds like you could just emulate scrollbar commands, rather then keyboard commands. That's fairly easy to do by posting WM_VSCROLL or directly manipulating the scrollbars in code. With that you can emulate smooth scroll, line scroll and page scroll. I wrote an app that can do that, once upon a time.

V

pro-fit2
9th August 2006, 04:45 AM
Vijay, thank you for permission and input.

Before I go further, I like the sound of your suggestion, but my code background is primarily VBA thru Excel, from which I access some minor(?) "other" things like PrintDialog, or other MS Office apps...

I'm willing to work through the API(?) to access window scrollbar controls, WM_HSCROLL (etc), but I would need a more basic start. If it's easy to generate, I'd love to see some further detail on the approach you described.

Thanks either way,
Pro-Fit

vijay555
9th August 2006, 11:03 AM
pro-fit2: apologies for being an ass, but could you open a thread in the developers forum, and I'll paste some code in.
I would open it for you, but it's better if it's opened under your member ID.

To get you started, this is a not particularly good article on scrollbar functions in vb.net. It's not VBA, but should give you an idea.
There are two ways to control the scrolling -
method 1: by sending the scrollbar a rough command to scroll up/down/left/right one line or one page. [ WM_VSCROLL with SB_LINEDOWN/SB_PAGEDOWN ]

method 2: by sending specific thumbposition control commands, which will give you fine control over the scrollbar. Frankly, this is probably what you don't need as it requires you to interrogate the scrollbar and then react accordingly. You just need to emulate line up/down I think. Look into SetScrollInfo etc.

Again, apologies for being obtuse, but there's no point filling this thread with redundant info. But start here:
http://windowssdk.msdn.microsoft.com/en-us/library/ms674659(vs.80).aspx

Open the development thread and we'll continue :)

V