problem with qvga

Ricky D

Well-Known Member
Licensed User
I just got myself a HTC Touch Pro.

It's screen resolution is 640x480 and boy does it look good.

I have written an app in B4PPC that keeps track of my taxi work.

I have 2 custom dll libraries that I reference in the app.

The Autocomplete combo box works just like it should.

The SIP (Soft Input Panel) works just right on the 320x240 screen of my old Imate Jasjam.

The sip buttons have a border around them and they line up just right.

On the Touch pro they no longer have borders around each individual key. Also it almost looks like 3d. The keypresses work - it's the appearance that's off.

Attached is the dll and the C# code. The B4PPC app is compiled as Force QVGA and the dll created by the compiler is copied to the working folder on my Touch Pro.

Can anyone tell me what I need to do to fix this?

regards, Ricky

P.S I need to add some more functionality but they won't affect this issue.
Last edited:


Licensed User
ICan anyone tell me what I need to do to fix this?P.S
It is a victim of the pixel doubling on the higher resolution display. I would make a small SIP of just 2 keys to begin with and experiment with horizontal sizing and placing to understand what is going on, then I would do the same with vertical size and spacing. Then you might come up with a layout that works on both display sizes.

Ricky D

Well-Known Member
Licensed User
thanks mate

Yep that was it.

I've found that in ShadowKey the width and height need to be the same as the linklabel passed to it for High res whereas Low res requires them to be +2

Also when I create the KeyLabel control the one immediately to the right of another needs to have it's left at +22 for hi res and +20 for low res.

I have created another parameter to the SIPc constructor - int Resolution where 0 is Low res and 1 is Hi res.

This then gets passed to ShadowKey in it's constructor.

I'm glad there isn't a huge amount of changes needed.

How do I tell in B4PPC what resolution it's running under? At the moment I'd need to compile 2 different version of the app depending on which device it's running on. I'll use my Imate Jasjam as a backup device in case the Touch pro goes belly up for any reason.

regards, Ricky