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
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
TOHLCChartSource
by
ronhud
[
Today
at 04:32:58 pm]
align a panel alClient in...
by
Hansvb
[
Today
at 04:29:57 pm]
read keys from windows ko...
by
Thaddy
[
Today
at 04:17:43 pm]
Tesseract for ocr
by
Packs
[
Today
at 04:17:43 pm]
using RunCommand to wrap ...
by
nomorelogic
[
Today
at 03:51:17 pm]
Strange implicit string c...
by
nanobit
[
Today
at 03:49:40 pm]
visasession
by
MarkMLl
[
Today
at 03:34:17 pm]
"set of": order of elemen...
by
440bx
[
Today
at 03:23:58 pm]
how to change font.color ...
by
bbd666
[
Today
at 03:12:15 pm]
UADE Library
by
Gigatron
[
Today
at 01:50:35 pm]
my programs crash
by
turunk
[
Today
at 01:19:49 pm]
Unselect all rows in stri...
by
Jonny
[
Today
at 01:10:54 pm]
Is there a code formatter...
by
Zvoni
[
Today
at 12:56:12 pm]
Treeview: full-width back...
by
d7_2_laz
[
Today
at 09:57:32 am]
how to read cheque micr l...
by
Packs
[
Today
at 08:58:27 am]
User Domain
by
TRon
[
Today
at 08:49:48 am]
Bug in the formula MATCH
by
veb86
[
Today
at 07:28:39 am]
Error, the IF function do...
by
veb86
[
Today
at 06:47:30 am]
Source Editor - Open Sour...
by
n7800
[
Today
at 05:13:12 am]
Form Positioning (Run & D...
by
Tony Stone
[
Today
at 03:28:03 am]
StrToInt not raising an e...
by
ALLIGATOR
[
Today
at 03:17:25 am]
[solved] Issues was wrong...
by
What I can do
[
Today
at 01:03:09 am]
Specialisation doesn't se...
by
nixbody
[
Today
at 12:38:49 am]
Please explain what is Po...
by
PascalDragon
[February 06, 2025, 11:03:56 pm]
Compile App Error
by
eldonfsr
[February 06, 2025, 10:03:23 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: How single procedure ends in different results (Read 1668 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
Jr. Member
Posts: 93
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: 6798
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