Hello together
We are using the UltraToolbarManager with the style “Office2013” and our customers have reported that parts of the menu text items are getting cutted away. This is especially the case for characters which do have visible parts under the baseline like g,y,q. I tried to check this on different machines and the observation was that with an increasing of the DPI setting in % the ‘cut away effect’ is more significant.
So please has anyone an idea for avoiding this text cutting?
Thank you very much for any help!
Best regardsFrank
Here is the example.
Hi,
Thank you for posting in our forums!
I can confirm the reported issue and therefore I have logged this behavior in our internal development tracking system under ID 233305. Furthermore, I have created a case for you and linked it to your account. You could track your cases at https://es.infragistics.com/my-account/support-activity
Let me know if you have any additional questions.
Thank you very much!
Here is the statement from our development team. Briefly, this is not a bug. When an application is marked as DPI aware, it is telling the operating system that the application is responsible for setting the proper sizing/layout of its controls (i.e. do not automatically scale things). With the exception of the UltraLiveTileView our controls are not DPI aware. Therefore, it is up to the developer to account for the DPI awareness in this case.
In this scenario, the RibbonTab height is based solely on the ImageSizeSmall property. As such, it does not matter what the resolved font size is, the height will remain constant. To achieve the desired output, the developer could perform their own scaling by increasing the ImageSizeSmall and ImageSizeLarge property by a scaling factor based on the current DPI.
float scalingFactor = Infragistics.Win.DrawUtility.ScreenDpi.Width / 96f;
Size size = this.ultraToolbarsManager1.ImageSizeSmall;
this.ultraToolbarsManager1.ImageSizeSmall = new Size((int)(size.Width * scalingFactor), (int)(size.Height * scalingFactor));
size = this.ultraToolbarsManager1.ImageSizeLarge;
this.ultraToolbarsManager1.ImageSizeLarge = new Size((int)(size.Width * scalingFactor), (int)(size.Height * scalingFactor));
Please note that to get a clean look, the develper should probably assign different sets of images based on the current DPI as well.
Let me know if you have additional questions regarding this matter.
Hi Ivaylo,
I have tested this code in the range from 100% DPI to 200% DPI and it works fine. Thank you very much for your helping and the effort of the developer team.