From a95b456fb58aa4418b1e02e275c6b7095783cbb1 Mon Sep 17 00:00:00 2001 From: lazarus-bart Date: Sat, 4 Jan 2020 16:37:48 +0000 Subject: [PATCH] Sudoku: adjust width/height of grid, and width of mainform @runtime. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7226 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- applications/sudoku/sudoku.lpi | 1 + applications/sudoku/sudokumain.lfm | 2 ++ applications/sudoku/sudokumain.pas | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/applications/sudoku/sudoku.lpi b/applications/sudoku/sudoku.lpi index 1f60d82c6..ff5079b53 100644 --- a/applications/sudoku/sudoku.lpi +++ b/applications/sudoku/sudoku.lpi @@ -49,6 +49,7 @@ + diff --git a/applications/sudoku/sudokumain.lfm b/applications/sudoku/sudokumain.lfm index 3b7477f78..c2a284c18 100644 --- a/applications/sudoku/sudokumain.lfm +++ b/applications/sudoku/sudokumain.lfm @@ -9,6 +9,7 @@ object Form1: TForm1 Caption = 'Form1' ClientHeight = 359 ClientWidth = 333 + OnActivate = FormActivate LCLVersion = '2.1.0.0' object StringGrid1: TStringGrid Left = 16 @@ -22,6 +23,7 @@ object Form1: TForm1 FixedRows = 0 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goEditing, goSmoothScroll] RowCount = 9 + ScrollBars = ssNone TabOrder = 2 OnPrepareCanvas = StringGrid1PrepareCanvas OnSetEditText = StringGrid1SetEditText diff --git a/applications/sudoku/sudokumain.pas b/applications/sudoku/sudokumain.pas index d261306d1..3628b0ae4 100644 --- a/applications/sudoku/sudokumain.pas +++ b/applications/sudoku/sudokumain.pas @@ -43,6 +43,7 @@ type StringGrid1: TStringGrid; procedure ButtonFillClick(Sender: TObject); procedure ButtonSolveClick(Sender: TObject); + procedure FormActivate(Sender: TObject); procedure StringGrid1PrepareCanvas(sender: TObject; aCol, aRow: Integer; {%H-}aState: TGridDrawState); procedure StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer; @@ -83,6 +84,13 @@ begin ShowSolution; end; +procedure TForm1.FormActivate(Sender: TObject); +begin + Self.OnActivate := nil; + StringGrid1.ClientWidth := 9 * StringGrid1.DefaultColWidth; + StringGrid1.ClientHeight := 9 * StringGrid1.DefaultRowHeight; + ClientWidth := 2 * StringGrid1.Left + StringGrid1.Width; +end; procedure TForm1.StringGrid1PrepareCanvas(sender: TObject; aCol, aRow: Integer; aState: TGridDrawState);