none
About New HHT Device MC9190 Windows Embedded Handheld 6.5 Classic RRS feed

  • Question

  • I have developed smart device application using visual stuido 2008 and working fine on Windows Mobile 5.0.

    I used following technology.

    Visual Studio 2008

    Windows Mobile 5.0

    .NET Compact framework 3.5

    Symbol device MC9060 and MC9090

    Recently we buy MC9190 model with Windows Embedded Handheld 6.5 Classic.

    So I have tested smart device application on new device MC9190 using SDK 6.5, application deployed properly but there are some issues with user controls. Some user controls not displaying correctly on new device i.e user controls size reduce on new device but when I deployed on MC9090 then displaying correctly.

    Could you please help on this. I need to re-design user controls for Windows Embedded Handheld 6.5 Classic or without any changes I can deployed same application on new device?

    Many Thanks,

    Sudhir 

    Tuesday, April 9, 2013 1:53 PM

Answers

All replies

  • This will inevitably be an issue for the device OEM (Motorola Symbol). I'd contact them directly.

    While you do that check the application and system fonts on the device and make sure that they are "sensible". If the font size changes, control sizes will tend to change also, particularly EDIT and STATIC controls (TextBox and Label). Is this device localized with a different language and type system than your older devices?

    Paul T.

    Tuesday, April 9, 2013 11:06 PM
  • Thanks for your reply.

    I have checked both fonts size and they are sensible. I will play with font size and test it again.

    Both devices languages are same that is English (US).  

    Wednesday, April 10, 2013 8:23 AM
  • Need your suggestion on this.

    Thursday, April 11, 2013 10:05 AM
  • I have tested font size but still getting same problem.

    Thursday, April 25, 2013 8:06 AM
  • Do these devices have different screen resolutions (QVGA vs. VGA)?

    If so, you may have to implement additional logic to handle the different resolutions. The following article tells you how to approach this: http://msdn.microsoft.com/en-us/library/ms229649(v=vs.90).aspx


    MVP Windows Embedded

    Thursday, April 25, 2013 6:32 PM
  • Hi Sudhir -

    I did develop sample (demo) applications for MC9090/9190/3190 devices having different displays(screen sizes/pixels) while I was working at Symbol/Motorola. And one of the requirement was to make the same application run on all these devices. And yes, issue was different display(real estate) in the first place. One of the features used to fit the application screen automatically on these devices was from form properties, I guess it is AutoScaleMode. This would enable automatic scaling of the application(forms/controls) to the display.

    http://msdn.microsoft.com/en-IN/library/system.windows.forms.containercontrol.autoscalemode(v=vs.85).aspx

    Try it out and let us know if it solves your issue.


    - Chandra

    Thursday, May 2, 2013 11:36 AM
  • Hi Michael,

    Both devices have different screen resolutions. I have already implemented additional logic for to handle resolutions.

                this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
                this.ClientSize = new System.Drawing.Size(240, 289);
                this.ControlBox = false;
                this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

    For new device I have made following chagnes for increase height of screen and working fine.

                this.ClientSize = new System.Drawing.Size(240, 300);

    same like i need to increase size of different user controls.

    Thanks for your time.

    Cheers,

    Sudhir

    Friday, May 3, 2013 11:35 AM
  • Thanks Chandra for your solution.

    I will try and test it and get back to you and our device related development team in future reference.

    - Sudhir


    Friday, May 3, 2013 11:38 AM
  • Are you changing application code for each device? It may not be required. The AutoScaleMode property setting should take care of it automatically. And that way you can distribute the same application for all the devices.

    - Chandra

    Friday, May 3, 2013 11:42 AM
  • I am trying to follow your solutions. I will not change application code for each device.

    Thanks Chandra.

    Friday, May 3, 2013 11:54 AM
  • Hi, did you solve this problem ? I've tried changing autoscalemode to None/Inherit and there is weak difference according to what I had on windows CE equipped Motorola. 
    I also have now  Embedded handheld  on my desk and struggle with this font size/scaling difficulty. Does it mean I should change auto scale to DPI and use different scale dimension (eg. 128 instead of 96) ?


    http://biuroster.pl


    Friday, September 12, 2014 5:29 PM
  • Okay, Finally after 12 hours I've got an answer. I think it might be helpfull for others.

    I had AutoScaleDimensions used as you've suggested to:

                this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;

    in all containers (custom forms and custom controls). 

    Exactly in this model "Motorola MC9190 Windows Embedded Handheld 6.5 Classic." where screen resolution is 320x320 when running on device compact framework recognizes 128dpi instead of 96dpi. For this reason each 320x320 form is automatically  resized to 427x427 when loaded (128/96 = 75 percent 427/320 = 75 percent) which results in that it does not fit on screen - everything becomes larger and not always goes smaller when changed back manually from code to 320x320.  Additionally fonts are scaled up and are a little larger than in corresponding other 3000 and 3090 (based on WindowsCE) models which I used to code for. 
    Finally after all these investigations I took back previous device MC 3090 (WindowsCE 5.0) (same 2,5 inch = 320 pixels size) which than run i debug mode. I've found that on this device framework recognized 96 dpi which was not true. I finally found that I should had the same difficulties before if framework/device recognized proper 128 dpi but it didn't.

    To solve it I had to turn off all AutoScaleModes (in designer or code) to:

                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;

    this gave me pretty much the same window and for fonts (if you really need it) you can implement your own font resizer and assign new font for all supporting controls (new Font(ft.Family, ft.Size * 0.75, ft.Style)) (use some other scale factor if it is needed eg. 0.90)


    http://biuroster.pl


    • Proposed as answer by Jaworski Piotr Saturday, September 13, 2014 12:59 PM
    • Edited by Jaworski Piotr Friday, February 6, 2015 9:38 AM wrong url :-)
    Saturday, September 13, 2014 12:58 PM