Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6196631
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T03:40:42+00:00 2026-05-24T03:40:42+00:00

Microsoft uses dialog length units (DLU) in their guidelines for UI. How can I

  • 0

Microsoft uses dialog length units (DLU) in their guidelines for UI. How can I convert them into pixels?

As I know, DLU depending on system font size. Can you advise some simple method of such conversion in Delphi for Win32?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T03:40:42+00:00Added an answer on May 24, 2026 at 3:40 am

    You should use the MapDialogRect() function.

    Pass in a RECT in dialog units, and the equivalent RECT in pixel units is returned. Note that you need a handle to a dialog in order to give MapDialogRect() sufficient context. The function needs to know the font in order to perform the conversion.


    In case you are tempted to use GetDialogBaseUnits(), remember what Raymond Chen said, GetDialogBaseUnits is a crock.

    As you can guess from the title of this entry, GetDialogBaseUnits is a
    crock. Since there is no HWND parameter to GetDialogBaseUnits, it
    doesn’t know which dialog box’s DLUs you want to retrieve. So it
    guesses.

    And it always guesses wrong.

    GetDialogBaseUnits returns the dialog base units for dialog boxes that
    use the default system font. But nobody uses the default system font
    any more. It screams "old and dorky". But it remains the default for
    compatibility reasons. (And therefore so too does GetDialogBaseUnits.)

    If you have to calculate pixel dimensions from DLUs, and you don’t have a handle to a dialog, then you must use the method outlined here: How To Calculate Dialog Base Units with Non-System-Based Font


    However, you made it clear in the comments that, for your problem, you do not actually need to convert from DLUs to pixels. You can use Delphi’s built in form scaling to ensure that your forms are sized appropriately for the prevailing font scaling.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I understand that Microsoft uses this template when versioning their products: Major.Minor.Build.Revision. Major is
I know Microsoft .NET uses the CLR as a JIT compiler while Java has
I'm having trouble deploying .NET application which uses Microsoft Access automation. I've installed the
We have an application that works with MS Office and uses Microsoft.mshtml.dll. We use
Has anyone successfully implemented a Java based solution that uses Microsoft SQL Server 2005
I have an existing asp.net webforms project that uses Microsoft's Enterprise DAAB for the
I am developing large data collecting ASP.Net/Windows service application-pair that uses Microsoft SQL Server
I am currently trying to build on TeamCity, which uses Microsoft.Office.Interop dll. This will
There is an application where I work that uses the Microsoft XML parser 3.0.
We've got a product that uses a Microsoft SQL Server database. We've got customers

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.