Changeset 535 for DpiControls/Demo


Ignore:
Timestamp:
May 27, 2019, 12:06:17 AM (6 years ago)
Author:
chronos
Message:
  • Added: More DPI aware components.
Location:
DpiControls/Demo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • DpiControls/Demo/DpiComponentsDemo.lpi

    r534 r535  
    1515      <Icon Value="0"/>
    1616    </General>
    17     <BuildModes Count="1">
    18       <Item1 Name="Default" Default="True"/>
     17    <BuildModes Count="2">
     18      <Item1 Name="Debug" Default="True"/>
     19      <Item2 Name="Release">
     20        <CompilerOptions>
     21          <Version Value="11"/>
     22          <Target>
     23            <Filename Value="DpiComponentsDemo"/>
     24          </Target>
     25          <SearchPaths>
     26            <IncludeFiles Value="$(ProjOutDir)"/>
     27            <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)-${BuildMode}"/>
     28          </SearchPaths>
     29          <Parsing>
     30            <SyntaxOptions>
     31              <CStyleOperator Value="False"/>
     32              <AllowLabel Value="False"/>
     33              <CPPInline Value="False"/>
     34            </SyntaxOptions>
     35          </Parsing>
     36          <CodeGeneration>
     37            <Optimizations>
     38              <OptimizationLevel Value="3"/>
     39            </Optimizations>
     40          </CodeGeneration>
     41          <Linking>
     42            <Debugging>
     43              <GenerateDebugInfo Value="False"/>
     44            </Debugging>
     45            <Options>
     46              <Win32>
     47                <GraphicApplication Value="True"/>
     48              </Win32>
     49            </Options>
     50          </Linking>
     51          <Other>
     52            <CompilerMessages>
     53              <IgnoredMessages idx5024="True"/>
     54            </CompilerMessages>
     55          </Other>
     56        </CompilerOptions>
     57      </Item2>
    1958    </BuildModes>
    2059    <PublishOptions>
     
    64103      <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)-${BuildMode}"/>
    65104    </SearchPaths>
     105    <Parsing>
     106      <SyntaxOptions>
     107        <CStyleOperator Value="False"/>
     108        <IncludeAssertionCode Value="True"/>
     109        <AllowLabel Value="False"/>
     110        <CPPInline Value="False"/>
     111      </SyntaxOptions>
     112    </Parsing>
     113    <CodeGeneration>
     114      <Checks>
     115        <IOChecks Value="True"/>
     116        <RangeChecks Value="True"/>
     117        <OverflowChecks Value="True"/>
     118        <StackChecks Value="True"/>
     119      </Checks>
     120      <VerifyObjMethodCallValidity Value="True"/>
     121    </CodeGeneration>
    66122    <Linking>
     123      <Debugging>
     124        <UseHeaptrc Value="True"/>
     125      </Debugging>
    67126      <Options>
    68127        <Win32>
     
    71130      </Options>
    72131    </Linking>
     132    <Other>
     133      <CompilerMessages>
     134        <IgnoredMessages idx5024="True"/>
     135      </CompilerMessages>
     136    </Other>
    73137  </CompilerOptions>
    74138  <Debugging>
  • DpiControls/Demo/UDpiFormMain.lfm

    r534 r535  
    55  Height = 0
    66  Visible = True
     7  Enabled = True
     8  ShowHint = False
     9  BorderStyle = Controls
    710  OnCreate = DpiFormMainCreate
    8   object DpiButton1: TDpiButton
    9     Top = 128
    10     Left = 8
    11     Width = 150
    12     Height = 40
     11  object DpiPaintBox1: TDpiPaintBox
     12    Top = 161
     13    Left = 124
     14    Width = 100
     15    Height = 100
    1316    Visible = True
    14     Caption = 'Test'
    15     OnClick = DpiButton1Click
     17    Enabled = True
     18    ShowHint = False
     19    OnPaint = DpiPaintBox1Paint
     20    left = 88
     21    top = 248
    1622  end
    1723end
  • DpiControls/Demo/UDpiFormMain.pas

    r534 r535  
    66
    77uses
    8   Classes, SysUtils, UDpiControls, Dialogs;
     8  Classes, SysUtils, UDpiControls, Dialogs, Graphics;
    99
    1010type
     
    1313
    1414  TDpiFormMain = class(TDpiForm)
    15     DpiButton1: TDpiButton;
     15    DpiPaintBox1: TDpiPaintBox;
    1616    procedure DpiButton1Click(Sender: TObject);
    1717    procedure DpiFormMainCreate(Sender: TObject);
     18    procedure DpiPaintBox1Paint(Sender: TObject);
    1819  private
    19 
    2020  public
    2121
     
    3333procedure TDpiFormMain.DpiFormMainCreate(Sender: TObject);
    3434var
    35   DpiButton: TDpiButton;
    36   DpiImage: TDpiImage;
     35  Button: TDpiButton;
     36  Image: TDpiImage;
     37  ListBox: TDpiListBox;
     38  I: Integer;
     39  PaintBox: TDpiPaintBox;
    3740begin
    38   DpiButton := TDpiButton.Create(DpiFormMain);
    39   DpiButton.Parent := Self;
    40   DpiButton.SetBounds(10, 10, 100, 30);
    41   DpiButton.Caption := 'Click me';
    42   DpiButton.Visible := True;
    43   DpiButton1.Parent := Self;
     41  Button := TDpiButton.Create(DpiFormMain);
     42  Button.Parent := Self;
     43  Button.SetBounds(10, 10, 100, 30);
     44  Button.Caption := 'Click me';
     45  Button.Visible := True;
    4446
    45   DpiImage := TDpiImage.Create(DpiFormMain);
    46   DpiImage.Parent := Self;
    47   DpiImage.SetBounds(150, 10, 100, 100);
    48   DpiImage.Visible := True;
    49   DpiImage.Stretch := True;
    50   DpiImage.VclImage.Picture.LoadFromFile('dance.jpg');
     47  Image := TDpiImage.Create(DpiFormMain);
     48  Image.Parent := Self;
     49  Image.SetBounds(150, 10, 100, 100);
     50  Image.Visible := True;
     51  Image.Stretch := True;
     52  Image.VclImage.Picture.LoadFromFile('dance.jpg');
     53  //Image.Picture.LoadFromFile('dance.jpg');
     54
     55  ListBox := TDpiListBox.Create(DpiFormMain);
     56  for I := 0 to 10 do
     57    ListBox.VclListBox.Items.Add('Item ' + IntToStr(I));
     58  ListBox.Parent := Self;
     59  ListBox.SetBounds(250, 10, 100, 100);
     60  ListBox.Visible := True;
     61
     62  DpiPaintBox1.BoundsRect := Rect(0, 0, 100, 100);
     63  DpiPaintBox1.VclPaintBox.Parent := VclForm;
     64  DpiPaintBox1.Repaint;
     65end;
     66
     67procedure TDpiFormMain.DpiPaintBox1Paint(Sender: TObject);
     68begin
     69  with DpiPaintBox1.Canvas do begin
     70    Brush.Color := clWhite;
     71    Brush.Style := bsSolid;
     72    FillRect(Rect(0, 0, 100, 100));
     73    Caption := IntToStr(Width);
     74    Pen.Color := clGreen;
     75    Pen.Style := psSolid;
     76    MoveTo(0, 0);
     77    LineTo(100, 100);
     78    Font.Color := clRed;
     79    TextOut(40, 10, 'Scaled text');
     80  end;
    5181end;
    5282
  • DpiControls/Demo/UFormMain.lfm

    r534 r535  
    3838    TabOrder = 1
    3939  end
     40  object Timer1: TTimer
     41    Interval = 100
     42    OnTimer = Timer1Timer
     43    left = 256
     44    top = 40
     45  end
    4046end
  • DpiControls/Demo/UFormMain.pas

    r534 r535  
    1616    ButtonNewDpiForm: TButton;
    1717    Label1: TLabel;
     18    Timer1: TTimer;
    1819    TrackBar1: TTrackBar;
    1920    procedure ButtonNewDpiFormClick(Sender: TObject);
    2021    procedure FormShow(Sender: TObject);
     22    procedure Timer1Timer(Sender: TObject);
    2123    procedure TrackBar1Change(Sender: TObject);
    2224  private
    2325
    2426  public
    25 
     27    Redraw: Boolean;
    2628  end;
    2729
     
    4244end;
    4345
     46procedure TFormMain.Timer1Timer(Sender: TObject);
     47begin
     48  Redraw := False;
     49  DpiScreen.Dpi := TrackBar1.Position;
     50end;
     51
    4452procedure TFormMain.ButtonNewDpiFormClick(Sender: TObject);
    4553var
     
    5563procedure TFormMain.TrackBar1Change(Sender: TObject);
    5664begin
    57   DpiScreen.Dpi := TrackBar1.Position;
     65  Redraw := True;
    5866end;
    5967
Note: See TracChangeset for help on using the changeset viewer.