This is not a determined value and it is related to the resolution of the device.
Unit Unit1;
Interface
Uses
Windows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms,
Dialogs;
Type
TForm1 = Class (Tform)
Procedure Formcreate (Sender:tobject);
End
Var
Form1:tform1;
Implementation
{$R *.DFM}
Procedure Tform1.formcreate (Sender:tobject);
Var
Mmw,mmh:integer;
Pixw,pixh:integer;
pm:double;
Begin
{Get screen size in millimeters}
MmW: = GetDeviceCaps (Canvas.handle, horzsize);
MmH: = GetDeviceCaps (Canvas.handle, vertsize);
SHOWMESSAGEFMT (' Screen width:%d mm; screen height:%d mm ', [MmW, MmH]);
{Screen width: 320 mm; screen height: 240 mm}
{Get screen size in pixels}
Pixw: = GetDeviceCaps (Canvas.handle, horzres);
Pixh: = GetDeviceCaps (Canvas.handle, vertres);
SHOWMESSAGEFMT (' screen width:%d pixels; screen height:%d pixels ', [Pixw, Pixh]);
{Screen width: 1024 pixels; Screen height: 768 pixels}
{How many pixels is equal to 1 millimeters in the current state?}
ShowMessage (Floattostr (PIXW/MMW)); {3.2}
ShowMessage (Floattostr (PIXH/MMH)); {3.2}
{One step get}
PM: = GetDeviceCaps (Canvas.handle, Horzres)/GetDeviceCaps (Canvas.handle, horzsize);
ShowMessage (Floattostr (PM)); {3.2}
End
End.