Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
General
»
How single procedure ends in different results
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
Forum Rules
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Font in StringGrid: canno...
by
paxnet_be
[
Today
at 09:43:08 am]
Lazarus forum incompatibl...
by
Thaddy
[
Today
at 09:17:00 am]
FPC 3.2.4-rc1 available
by
440bx
[
Today
at 09:03:26 am]
Lazarus and FreePascal on...
by
Thaddy
[
Today
at 07:29:38 am]
FPC Unleashed (inline var...
by
Thaddy
[
Today
at 07:18:31 am]
Status of FPC 3.4.0 or FP...
by
valdir.marcos
[
Today
at 06:00:43 am]
Call the Llama.cpp dynami...
by
myisjwj
[
Today
at 03:46:16 am]
[Ignore-Me] TFPGList.Assi...
by
jamie
[
Today
at 01:38:22 am]
Amigo programming languag...
by
paxscript
[
Today
at 01:06:00 am]
IDE Editor (OS: Windows11...
by
d7_2_laz
[
Today
at 12:38:55 am]
Using Lazarus to teach In...
by
Nimbus
[April 21, 2026, 10:15:31 pm]
Little bit...
by
ASerge
[April 21, 2026, 09:51:32 pm]
CORE-MATH 32bits in Pasca...
by
schuler
[April 21, 2026, 09:32:39 pm]
Fpcupdeluxe
by
Thaddy
[April 21, 2026, 06:12:30 pm]
504 Gateway Timeout
by
Martin_fr
[April 21, 2026, 03:28:06 pm]
Problem with MariaDB and ...
by
OH1KH
[April 21, 2026, 03:26:54 pm]
Feature announcement: Fun...
by
Thaddy
[April 21, 2026, 01:47:33 pm]
Elite Arcade
by
nomorelogic
[April 21, 2026, 01:16:40 pm]
IDE Coolbar
by
staratel20
[April 21, 2026, 01:00:32 pm]
Midi to Wav Converter
by
Thaddy
[April 21, 2026, 12:28:47 pm]
Pure Pascal ZPAQ and ZSTD
by
Tomxe
[April 21, 2026, 11:48:23 am]
AmigaOS can't run program...
by
Trenatos
[April 21, 2026, 11:30:22 am]
Space Duel
by
Tomi
[April 21, 2026, 09:18:22 am]
Is there a "known good" c...
by
Thaddy
[April 21, 2026, 08:07:46 am]
Can I get the position an...
by
CM630
[April 21, 2026, 07:29:22 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: How single procedure ends in different results (Read 2127 times)
Marion
Full Member
Posts: 125
How single procedure ends in different results
«
on:
November 28, 2024, 12:42:47 am »
I have a procedure that dynamically adds controls to a TScrollBox with the ChildSizing.ControlsPerLine = 1 so the controls stack from top to bottom. When the ScrollBox starts empty then the child controls are the correct height (See image with empty TEdit). Once a user enters text and saves the dialog, the next time they come back to the form, I repopulate the rows and add the text but now the TEdits are short. When I add a new (empty) row, all of the rows (including the previous ones) stretch to the right height. I'd like to fix this if someone knows what's going on.
Below is the procedure used to add all of the rows to the ScrollBox:
Code: Pascal
[Select]
[+]
[-]
function
TfrmOptions
.
DiceTrayRowAdd
:
TPanel
;
var
pnlRow
:
TPanel
;
txtName
,
txtFormula
:
TEdit
;
begin
pnlRow
:
=
TPanel
.
Create
(
boxDiceTray
)
;
pnlRow
.
Parent
:
=
boxDiceTray
;
pnlRow
.
Tag
:
=
FDiceRow
;
pnlRow
.
BevelOuter
:
=
bvNone
;
pnlRow
.
ChildSizing
.
ControlsPerLine
:
=
2
;
pnlRow
.
ChildSizing
.
EnlargeHorizontal
:
=
crsHomogenousChildResize
;
pnlRow
.
ChildSizing
.
Layout
:
=
cclLeftToRightThenTopToBottom
;
//pnlRow.Name := Format('pnlDiceRow%d', [FDiceRow]);
pnlrow
.
Caption
:
=
''
;
pnlRow
.
OnEnter
:
=
@
DiceTrayRowEnter
;
txtName
:
=
TEdit
.
Create
(
pnlRow
)
;
txtName
.
Parent
:
=
pnlRow
;
//txtName.Name := Format('txtDTName%d', [FDiceRow]);
txtName
.
Text
:
=
''
;
txtName
.
MaxLength
:
=
20
;
txtName
.
OnKeyUp
:
=
@
DiceTrayRowKeyUp
;
txtFormula
:
=
TEdit
.
Create
(
pnlRow
)
;
txtFormula
.
Parent
:
=
pnlRow
;
//txtFormula.Name := Format('txtDTFormula%d', [FDiceRow]);
txtFormula
.
Text
:
=
''
;
txtFormula
.
MaxLength
:
=
40
;
txtFormula
.
OnKeyUp
:
=
@
DiceTrayRowKeyUp
;
if
txtName
.
CanFocus
then
txtName
.
SetFocus
;
FDiceRow
:
=
FDiceRow
+
1
;
result
:
=
pnlRow
;
end
;
Logged
Thank you,
Marion
(A recovering Windows programmer.)
CharlyTango
Full Member
Posts: 178
Re: How single procedure ends in different results
«
Reply #1 on:
November 28, 2024, 09:39:15 am »
You will certainly have a reason why you choose a solution with a TScrollbos, which is significantly more complex and problematic than other controls.
I would try to solve such “simple” inputs with a TStringgrid, for example
Logged
Lazarus stable, Win32/64
jamie
Hero Member
Posts: 7665
Re: How single procedure ends in different results
«
Reply #2 on:
November 28, 2024, 05:32:17 pm »
AutoSize is set to true maybe?
in any case, I am not sure how the child sizing works but best guess is it may use the FONT height. Maybe you need to set that in the EDIT fields.
Logged
The only true wisdom is knowing you know nothing
Marion
Full Member
Posts: 125
Re: How single procedure ends in different results
«
Reply #3 on:
December 03, 2024, 01:57:43 am »
I finally fixed it. I had to add a Contraints.MinHeight = 40 to each of the TEdits and now it works as expected.
«
Last Edit: December 03, 2024, 02:00:03 am by Marion
»
Logged
Thank you,
Marion
(A recovering Windows programmer.)
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
General
»
How single procedure ends in different results
TinyPortal
© 2005-2018