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
FPC crashes after running...
by
jamie
[
Today
at 08:37:47 pm]
Color Buttons
by
dsiders
[
Today
at 08:10:19 pm]
Nested declarations insid...
by
440bx
[
Today
at 07:50:34 pm]
Random ?
by
Thaddy
[
Today
at 07:26:20 pm]
test if web site is valid
by
What I can do
[
Today
at 07:24:27 pm]
UnoLib - library in Pasca...
by
ackarwow
[
Today
at 07:08:06 pm]
file Blockread error
by
TBMan
[
Today
at 07:02:54 pm]
¿Hay alguna limitación en...
by
e_nigma
[
Today
at 06:27:03 pm]
Exploring FPC/Lazarus uni...
by
MarkMLl
[
Today
at 05:48:05 pm]
Web Pascal without JavaSc...
by
zendrael
[
Today
at 05:19:57 pm]
SDL2 image rotation Probl...
by
Pe3s
[
Today
at 05:07:24 pm]
MainMenu: How to use the ...
by
madref
[
Today
at 03:03:37 pm]
Why with allows assignmen...
by
Warfley
[
Today
at 02:49:58 pm]
How to combine data from ...
by
Thaddy
[
Today
at 02:30:11 pm]
SDL2: Runtime Error 216 o...
by
mischi
[
Today
at 02:11:35 pm]
how to create sync applic...
by
Khrys
[
Today
at 02:08:11 pm]
Might have a menu bug in ...
by
cdbc
[
Today
at 01:46:12 pm]
Vulnerabilities lurking i...
by
tetrastes
[
Today
at 12:51:20 pm]
TSQLquery does not save a...
by
egsuh
[
Today
at 11:53:54 am]
Lazarus Release Candidate...
by
pleumann
[
Today
at 11:39:03 am]
How to validate ParamStr(...
by
Thaddy
[
Today
at 11:22:51 am]
Generics as PUBLISHED imp...
by
YetAnotherDelphiLeaver
[
Today
at 11:21:20 am]
how to make application r...
by
Thaddy
[
Today
at 11:14:02 am]
[SOLVED] Unwanted additio...
by
CM630
[
Today
at 08:32:42 am]
ЛазМер/ LazMer for measur...
by
CM630
[
Today
at 08:22:23 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: How single procedure ends in different results (Read 983 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: 91
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: 6781
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