View Issue Details

IDProjectCategoryView StatusLast Update
0024716LazarusPackagespublic2016-04-08 12:46
ReporterAvishai Assigned ToJuha Manninen  
Status resolvedResolutionno change required 
Summary0024716: Two new components for Lazarus
I would like to submit two new comonents for Lazarus to consider.


  TStickyLabel is a TLabel that can be Associated with any TWinControl.
  It works like TLabeledEdit but can be Associated with any TWinControl.
  There are LabelPosition and LabelSpacing propertied that work like

  It uses AnchorToCompanion.
  Layout:= tlCenter by default.
  WordWrap:= True by default.

  Changing TStickyLabel BiDiMode, Enabled, Font or Visible properties are
  reflected by the Associated Control. Changing the Associated Control
  properties is NOT reflected by TStickyLabel, so they can be independent.


  TStickyBtn is the same as TStickyLabel but is a TSpeedButton.


Maybe they could be added to the 'LazControls' Tab if they are accepted.

TagsNo tags attached.
Fixed in Revision
Attached Files



2013-07-07 21:36

reporter (2,844 bytes)


2013-07-12 22:46

reporter   ~0068821

Very nice idea, +1 from me
gonna test for feedback

Juha Manninen

2014-03-23 09:53

developer   ~0073907

Last edited: 2014-03-23 10:00

View 2 revisions

This should go to CCR. LCL is mostly for components that are VCL compatible or are needed by IDE itself.

The components need some improvements:

1. Icons are missing.

2. They inherit from TLabel and TBitBtn instead of TCustomLabel and TCustomBitBtn. It means all published properties from TLabel are published also in TStickyLabel. You should inherit from TCustomLabel and publish only properties that make sense. For example it makes no sense to set "FocusControl" in addition to "Associate". Properties dealing with position make no sense either because position cannot be changed.


2014-03-25 10:28

reporter   ~0073955

There is no doubt that the design can be improved. But my thinking was that the design of TLabeledEdit (from Delphi) is so bad that it needed to be replaced with something more "Lazarus like". TStickyLabel is not limited to a TEdit and can be used with any TWinCotrol. LabelPosition can be set to Above, Below, Left or Right just as it is in TLabeledEdit.

I used the same thinking to create TStickyBtn as a more generic form of TEditButton so that it is not limited to Tedit type controls. BtnPosition works the same as for TStickyLabel.

Juha Manninen

2014-03-25 12:19

developer   ~0073958

Last edited: 2014-03-25 12:22

View 2 revisions

CCR is not a punishment in any way. Later we will have a remote package installer which will integrate CCR and other repositories almost seamlesly to Lazarus.
IMO this does not belong to LCL because it competes partly with existing functionality, namely LabeledEdit and the nice anchoring system of LCL.
I can commit this to CRC if that is acceptable, after you have fixed the problems listed earlier. You can even get commit access there for maintaining your component. For LCL it would be more difficult.


2014-03-25 12:44

reporter   ~0073959

I will make the recommended changes once I get my strength back. My health is not so good right now. Thank you for your patience.

Juha Manninen

2016-04-08 11:03

developer   ~0091843

The provided component versions are rejected. Improved versions can still go to CCR if wanted.

Issue History

Date Modified Username Field Change
2013-07-07 21:36 Avishai New Issue
2013-07-07 21:36 Avishai File Added:
2013-07-12 22:46 Chris Note Added: 0068821
2014-03-23 09:27 Juha Manninen Assigned To => Juha Manninen
2014-03-23 09:27 Juha Manninen Status new => assigned
2014-03-23 09:53 Juha Manninen Note Added: 0073907
2014-03-23 10:00 Juha Manninen Note Edited: 0073907 View Revisions
2014-03-25 10:28 Avishai Note Added: 0073955
2014-03-25 12:19 Juha Manninen Note Added: 0073958
2014-03-25 12:22 Juha Manninen Note Edited: 0073958 View Revisions
2014-03-25 12:44 Avishai Note Added: 0073959
2016-04-08 11:03 Juha Manninen LazTarget => -
2016-04-08 11:03 Juha Manninen Note Added: 0091843
2016-04-08 11:03 Juha Manninen Status assigned => resolved
2016-04-08 11:03 Juha Manninen Resolution open => no change required