Windows DPI settings

  • Thread starter Thread starter jan.loucka
  • Start date Start date
J

jan.loucka

Hi,
is there any way how can I get the current user windows DPI settings?
We're writting some mapping software and we need to know if the user
changes the DPI for scale calculations.
Thanks
Jan
 
System Metrics
Microsoft® Windows® provides a number of system metrics that you should use
to eliminate assumptions about the user’s system. GetDeviceCaps() can be
used to obtain a display’s DPI (pass in LOGPIXELSX or LOGPIXELSY for the
second parameter). GetSystemMetrics() and SystemParametersInfo() provide
sizes for nearly every graphical element in Windows, from the width of a
three-dimensional border to the size of a small icon. One of the less obvious
metrics is the minimum line thickness (pass SM_CYBORDER or SM_CXBORDER to
GetSystemMetrics). At very high DPIs, a one-pixel-wide line is nearly invisible.

http://msdn2.microsoft.com/en-us/library/ms969894.aspx

HTH.

-dl
 
System Metrics
Microsoft® Windows® provides a number of system metrics that you should use
to eliminate assumptions about the user's system. GetDeviceCaps() can be
used to obtain a display's DPI (pass in LOGPIXELSX or LOGPIXELSY for the
second parameter). GetSystemMetrics() and SystemParametersInfo() provide
sizes for nearly every graphical element in Windows, from the width of a
three-dimensional border to the size of a small icon. One of the less obvious
metrics is the minimum line thickness (pass SM_CYBORDER or SM_CXBORDER to
GetSystemMetrics). At very high DPIs, a one-pixel-wide line is nearly invisible.

http://msdn2.microsoft.com/en-us/library/ms969894.aspx

HTH.

-dl

Or, in the .Net world, you could try this:

using (Graphics g = this.CreateGraphics()) {
MessageBox.Show("DpiX: " + g.DpiX.ToString() + ",
DpiY: " + g.DpiY.ToString());
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top