Ignore:
Timestamp:
Jul 26, 2025, 10:38:53 PM (14 hours ago)
Author:
chronos
Message:
  • Modified: Improved forms painting if resized to bigger dimensions.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Packages/CevoComponents/BaseWin.pas

    r657 r684  
    2323    procedure OffscreenPaint; virtual;
    2424    procedure VPaint; virtual;
     25    procedure DoOnResize; override;
    2526  public
    2627    UserLeft: Integer;
     
    4041  end;
    4142
     43  { TFramedDlg }
     44
    4245  TFramedDlg = class(TBufferedDrawDlg)
    4346  protected
     
    5356    procedure VPaint; override;
    5457    procedure FillOffscreen(Left, Top, Width, Height: Integer);
     58    procedure DoOnResize; override;
    5559  public
    5660    constructor Create(AOwner: TComponent); override;
     
    167171begin
    168172  BitBltCanvas(Canvas, 0, 0, ClientWidth, ClientHeight, Offscreen.Canvas, 0, 0);
     173end;
     174
     175procedure TBufferedDrawDlg.DoOnResize;
     176begin
     177  inherited;
     178  SmartUpdateContent;
    169179end;
    170180
     
    232242end;
    233243
    234 constructor TFramedDlg.Create;
     244constructor TFramedDlg.Create(AOwner: TComponent);
    235245begin
    236246  OnCreate := FormCreate;
     
    247257  ModalIndication := True;
    248258  Canvas.Brush.Style := TBrushStyle.bsClear;
    249   InnerWidth := Width - 2 * SideFrame;
    250   InnerHeight := Height - TitleHeight - NarrowFrame;
     259  DoOnResize;
    251260end;
    252261
     
    304313  L := BiColorTextWidth(Canvas, Caption);
    305314  Cut := (ClientWidth - L) div 2;
    306   xTexOffset := (Maintexture.Width - ClientWidth) div 2;
    307   yTexOffset := (Maintexture.Height - ClientHeight) div 2;
     315  xTexOffset := 0; //(Maintexture.Width - ClientWidth) div 2;
     316  yTexOffset := 0; //(Maintexture.Height - ClientHeight) div 2;
    308317  if WideBottom then
    309318    InnerBottom := ClientHeight - WideFrame
     
    332341  Frame(Canvas, SideFrame - 1, TitleHeight - 1, ClientWidth - SideFrame,
    333342    InnerBottom, MainTexture.ColorBevelShade, MainTexture.ColorBevelLight);
     343
    334344  // RFrame(Canvas,SideFrame - 2, TitleHeight - 2, ClientWidth - SideFrame + 1,
    335345  // InnerBottom + 1, MainTexture.ColorBevelShade, MainTexture.ColorBevelLight);
     
    471481begin
    472482  Fill(Offscreen.Canvas, Left, Top, Width, Height,
    473     SideFrame + (Maintexture.Width - ClientWidth) div 2,
    474     TitleHeight + (Maintexture.Height - ClientHeight) div 2);
     483    SideFrame, TitleHeight);
     484end;
     485
     486procedure TFramedDlg.DoOnResize;
     487begin
     488  inherited;
     489  InnerWidth := Width - 2 * SideFrame;
     490  InnerHeight := Height - TitleHeight - NarrowFrame;
     491  SmartUpdateContent;
    475492end;
    476493
Note: See TracChangeset for help on using the changeset viewer.