Delphi 7 updating Online chat sex with video and voice
All the controls that you create dynamically do not look correctly – they are either not at the correct location or you do not see the full width of them. What follows are some “tricks” and compromises I’ve used to fix my application and make it really high-dpi aware. Again, if you’ve read the mentioned articles in the previous post you know that every Delphi form has a property called Scaled but also a property called Pixels Per Inch.
At the moment of form construction, if the form’s stored Pixels Per Inch is different from Screen.Btw, to get the value of 250 (when scaling is at 250%) you can use: In the above image, controls on the left are not manually fixed, while those on the right are. Here’s the left part zoomed: And here’s how it “originally” looks on 96%: Ok, as I said, most of your UI will/should look correctly on 250% DPI display settings. And just when it gets supper interesting – we stop here as the answer to those will be provided in the next post 😉 Hint: in an ideal world you would want to have larger glyphs/images.All TEdit, TLabel, TCheck Box, TPanel, TDBGrid and alike “old”/standard controls would scale themselves as expected. It might happen that those do not scale right – but only if inside some container that somehow refused to get notified for the scaling change. When on 250%, the image on your TSpeed Button or menu item or toolbar item having the 16×16 glyph would look small. But then, should (and could) you include all various image/glyph sizes in your executable? Here’s what I did to Resize TImage List Bitmaps to Fit High-DPI Scaling Size (for Menus, Toolbars, Trees, etc.) and then Making the Glyph Property High DPI Aware for TBit Btn and TSpeed Button. Your non high-dpi aware Delphi application might look nice on your development machine, but it certainly looks super small or ugly stretched on your client’s shiny new 4K resolution laptop – and it really does not work – at least not how you and your client would expect! You rebuild the application, run on your development machine – and you see no changes. I did 🙂 The classical answer “it works on my machine” will not be sufficient here.