{"id":112,"date":"2019-09-19T10:37:23","date_gmt":"2019-09-19T15:37:23","guid":{"rendered":"https:\/\/www.codedotshow.com\/blog\/?p=112"},"modified":"2019-09-19T10:37:23","modified_gmt":"2019-09-19T15:37:23","slug":"high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio","status":"publish","type":"post","link":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/","title":{"rendered":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013-1024x551.png\" alt=\"\" class=\"wp-image-113\" srcset=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013-1024x551.png 1024w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013-300x161.png 300w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013-768x413.png 768w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013-1200x646.png 1200w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013.png 1407w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens.\u00a0 People even sometimes use tablets as second screens.\u00a0 All of these can use different resolutions.\u00a0 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/hidpi\/high-dpi-desktop-application-development-on-windows#per-monitor-dpi-scaling-support-by-ui-framework--technology\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"&quot;Per monitor v2&quot; technology (opens in a new tab)\">&#8220;Per monitor v2&#8221; technology<\/a>.  This allowed users to have different DPI scaling <strong>for each monitor<\/strong>.  Now, for example, users could have a laptop&#8217;s LCD panel showing at its native resolution and an additional external monitor displaying at perhaps a higher resolution of DPI.  Note that this is not just the pixel width and height but the actual <em>denseness<\/em> of the pixels per inch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you dragged your legacy Delphi apps from one window to another you could see that change in pixel density.  Things would look sharper or less sharp, scaled weird or, even worse, drew text in the wrong places because the coordinates were worked out on a machine running on and launching at 96DPI and was dragged over to a screen now running at 120DPI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prior to Delphi 10.3 this made our apps look <em>bad<\/em>.\u00a0 Not so now.\u00a0 <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Rio to the rescue&#8230;<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In Delphi 10.3 Rio there is now some settings found in the main menu by selecting <code>project<\/code>, <code>options <\/code>and then clicking on <code>manifest<\/code>.  You can also press <code>SHIFT + CTRL + F11<\/code> to get to the same place.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"489\" src=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-100854-1024x489.png\" alt=\"\" class=\"wp-image-114\" srcset=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-100854-1024x489.png 1024w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-100854-300x143.png 300w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-100854-768x367.png 768w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-100854.png 1153w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The red lines in the image above show you where to check.  Under <code>DPI awareness<\/code> you should have <code>Per monitor v2<\/code> selected. For new projects and those upgraded from legacy versions of Delphi you should find it&#8217;s already been chosen for you.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"alignright is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-101512.png\" alt=\"\" class=\"wp-image-115\" width=\"300\" height=\"221\" srcset=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-101512.png 435w, https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-101512-300x221.png 300w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In addition to the Delphi runtime taking care of enabling Per Monitor v2 by notifying Windows that our app understands it there is also a new event which gets triggered on your forms if the screen&#8217;s DPI changes, perhaps due to them changing the Desktop resolution in the Windows preferences.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This event is <code>OnAfterMonitorDpiChanged<\/code> and it triggers just as your would expect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Other options on the project options page<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">While we&#8217;re on the project options page, just above the setting for Per Monitor v2 you can see an option which says &#8220;<code><strong>Enable Runtime Themes<\/strong><\/code>&#8220;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This setting needs to be checked for the themes to work (it\u2019s checked by default).  We&#8217;ll talk more about runtime Themes in a later blog post.  This setting actually <a href=\"https:\/\/stackoverflow.com\/questions\/30840391\/does-enable-runtime-themes-affect-performance\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"does a similar thing to the old TXPManifest component (opens in a new tab)\">does a similar thing to the old TXPManifest component<\/a> which has been around since the days of Delphi 7.  It essentially includes extra information in the application&#8217;s manifest which tells it to render native controls in a particular way.  I&#8217;d recommend you have it checked.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code><strong>Execution level<\/strong><\/code> is another setting on the same page and is actually a pretty important feature too.\u00a0 It controls the user permission level at which the app runs &#8211; default is \u201c<code>as invoker<\/code>\u201d but you might not want that.  This setting tells the Windows runtime what execution privileges you wish to run with.  If you select &#8220;as invoker&#8221; then you inherit the rights of the shell or app which launched your app.  So if the shell launching your app is very restricted your app will be restricted too.  Conversely if the launching process is, for example, &#8216;administrator&#8217; then you&#8217;ll inherit the rights which come with that.  Sweet. \u00a0 The two other options are \u201cHighest available\u201d and \u201cAdministrator\u201d which are fairly obvious &#8211; but both of these might need a normal mortal user to enter an administrator password or credentials before your app can run.  In most cases you&#8217;re going to leave the setting at &#8220;as invoker&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Next article &#8211; provisioning, Windows application store and code signing<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In the next article I&#8217;m going to cover the new Delphi 10.3 Rio features which allow you to package your Windows apps for the Microsoft App store as well as a discussion about code-signing; what it is, how to do it and where to obtain a code-signing certificate.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is very common now that users have more than one monitor; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[4,6],"class_list":["post-112","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-delphi","tag-windows-10"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Ian Barker\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Code.Show() Real Software Development - Streaming and blogging about *real* software development\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development\" \/>\n\t\t<meta property=\"og:description\" content=\"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/284_19136706893_2072_n.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/284_19136706893_2072_n.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"510\" \/>\n\t\t<meta property=\"og:image:height\" content=\"531\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-09-19T15:37:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-09-19T15:37:23+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@punctuation\" \/>\n\t\t<meta name=\"twitter:title\" content=\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development\" \/>\n\t\t<meta name=\"twitter:description\" content=\"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@punctuation\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/284_19136706893_2072_n.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#blogposting\",\"name\":\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development\",\"headline\":\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio\",\"author\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/author\\\/codedotshow_xrr65o\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/Annotation-2019-09-19-092013.png\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#articleImage\",\"width\":1407,\"height\":757},\"datePublished\":\"2019-09-19T10:37:23-05:00\",\"dateModified\":\"2019-09-19T10:37:23-05:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#webpage\"},\"articleSection\":\"Uncategorized, delphi, windows 10\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"position\":2,\"name\":\"Uncategorized\",\"item\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/category\\\/uncategorized\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#listItem\",\"name\":\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#listItem\",\"position\":3,\"name\":\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/category\\\/uncategorized\\\/#listItem\",\"name\":\"Uncategorized\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/#person\",\"name\":\"Ian Barker\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbe04528e59e5e50b2d1b6a5fc8592f3bb32b6b7a2d286aab247e78880f1cc12?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Ian Barker\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/author\\\/codedotshow_xrr65o\\\/#author\",\"url\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/author\\\/codedotshow_xrr65o\\\/\",\"name\":\"Ian Barker\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbe04528e59e5e50b2d1b6a5fc8592f3bb32b6b7a2d286aab247e78880f1cc12?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Ian Barker\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#webpage\",\"url\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/\",\"name\":\"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development\",\"description\":\"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/author\\\/codedotshow_xrr65o\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/author\\\/codedotshow_xrr65o\\\/#author\"},\"datePublished\":\"2019-09-19T10:37:23-05:00\",\"dateModified\":\"2019-09-19T10:37:23-05:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/\",\"name\":\"Code.Show() Real Software Development\",\"description\":\"Streaming and blogging about *real* software development\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codedotshow.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development","description":"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the","canonical_url":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#blogposting","name":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development","headline":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio","author":{"@id":"https:\/\/www.codedotshow.com\/blog\/author\/codedotshow_xrr65o\/#author"},"publisher":{"@id":"https:\/\/www.codedotshow.com\/blog\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/Annotation-2019-09-19-092013.png","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#articleImage","width":1407,"height":757},"datePublished":"2019-09-19T10:37:23-05:00","dateModified":"2019-09-19T10:37:23-05:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#webpage"},"isPartOf":{"@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#webpage"},"articleSection":"Uncategorized, delphi, windows 10"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.codedotshow.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}},{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog\/category\/uncategorized\/#listItem","position":2,"name":"Uncategorized","item":"https:\/\/www.codedotshow.com\/blog\/category\/uncategorized\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#listItem","name":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#listItem","position":3,"name":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio","previousItem":{"@type":"ListItem","@id":"https:\/\/www.codedotshow.com\/blog\/category\/uncategorized\/#listItem","name":"Uncategorized"}}]},{"@type":"Person","@id":"https:\/\/www.codedotshow.com\/blog\/#person","name":"Ian Barker","image":{"@type":"ImageObject","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/bbe04528e59e5e50b2d1b6a5fc8592f3bb32b6b7a2d286aab247e78880f1cc12?s=96&d=mm&r=g","width":96,"height":96,"caption":"Ian Barker"}},{"@type":"Person","@id":"https:\/\/www.codedotshow.com\/blog\/author\/codedotshow_xrr65o\/#author","url":"https:\/\/www.codedotshow.com\/blog\/author\/codedotshow_xrr65o\/","name":"Ian Barker","image":{"@type":"ImageObject","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/bbe04528e59e5e50b2d1b6a5fc8592f3bb32b6b7a2d286aab247e78880f1cc12?s=96&d=mm&r=g","width":96,"height":96,"caption":"Ian Barker"}},{"@type":"WebPage","@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#webpage","url":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/","name":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development","description":"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.codedotshow.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/#breadcrumblist"},"author":{"@id":"https:\/\/www.codedotshow.com\/blog\/author\/codedotshow_xrr65o\/#author"},"creator":{"@id":"https:\/\/www.codedotshow.com\/blog\/author\/codedotshow_xrr65o\/#author"},"datePublished":"2019-09-19T10:37:23-05:00","dateModified":"2019-09-19T10:37:23-05:00"},{"@type":"WebSite","@id":"https:\/\/www.codedotshow.com\/blog\/#website","url":"https:\/\/www.codedotshow.com\/blog\/","name":"Code.Show() Real Software Development","description":"Streaming and blogging about *real* software development","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.codedotshow.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"Code.Show() Real Software Development - Streaming and blogging about *real* software development","og:type":"article","og:title":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development","og:description":"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the","og:url":"https:\/\/www.codedotshow.com\/blog\/high-re-dpi-and-per-monitor-v2-with-delphi-and-rad-studio\/","og:image":"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/284_19136706893_2072_n.jpg","og:image:secure_url":"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/284_19136706893_2072_n.jpg","og:image:width":510,"og:image:height":531,"article:published_time":"2019-09-19T15:37:23+00:00","article:modified_time":"2019-09-19T15:37:23+00:00","twitter:card":"summary","twitter:site":"@punctuation","twitter:title":"High-re DPI and Per Monitor v2 with Delphi and RAD Studio - Code.Show() Real Software Development","twitter:description":"It is very common now that users have more than one monitor; even laptop users often dock a screen which gives them two screens. People even sometimes use tablets as second screens. All of these can use different resolutions. Microsoft caught on to this trend and with successive versions of Windows 10 they introduced the","twitter:creator":"@punctuation","twitter:image":"https:\/\/www.codedotshow.com\/blog\/wp-content\/uploads\/2019\/09\/284_19136706893_2072_n.jpg"},"aioseo_meta_data":{"post_id":"112","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[],"defaultGraph":"","defaultPostTypeGraph":""},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-04-02 22:42:01","updated":"2025-06-04 06:34:24","seo_analyzer_scan_date":null},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":1,"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"predecessor-version":[{"id":116,"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/posts\/112\/revisions\/116"}],"wp:attachment":[{"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedotshow.com\/blog\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}