Trying to create a new component from TPanel
TThumbContainer = class(TPanel)
private
FSetColumns : integer; // Ønsket antal søjler
FSetRatio : real; // Forhold mellem længde/bredde af de viste thumbnails. Bemærk at dette gælder det panel der viser billedet - ikke billedet selv
FInnerMargin : integer; // Mindste margin fra container til billedpaneler
FVMargin : integer; // Beregnet vandret margin efter paldsen til rådighed
FHMargin : integer; // Beregnet lodret margin efter paldsen til rådighed
FDistance : integer; // Afstand mellem billeder - både lodret og vandret
FMinImgMargin : integer; // Mindste afstand fra billede til billedepanel - vandret eller lodret, afhængig af billedet dimensioner
FThumbWidth : integer; // Bredden på panel der indeholder bevel og billede
FThumbHeight : integer; // Højden på panel der indeholder bevel og billede
FBvSize : integer; // størrelsen på bevels
FScroller : TScrollBar;
procedure SetColumns(aColAnt : integer);
procedure SetRatio(aRatio : real); // højde ifht bredde
procedure RecalcThumbDim;
procedure ClearThumbs;
procedure DrawThumbs;
protected
procedure DoOnResize; override;
public
constructor Create(aOwner:TComponent); override;
procedure AfterConstruction; override;
destructor Destroy; override;
published
property Columns : integer read FSetColumns write SetColumns default 5;
property Ratio : real read FSetRatio write SetRatio;
property InnerMargin : integer read FInnerMargin write FInnerMargin default 5;
property ImgDist : integer read FDistance write FDistance default 3;
property ImgMargin : integer read FMinImgMargin write FMinImgMargin default 2;
end;
and it's working just fine - except it doesn't use the values set at designtime.
New Control is compiles with no errors, and is installed in Lazarus, placed from palette at designtime.
BevelInner is set to bvLowered (Outer is bvRaised by default).
Integers InnerMargin, ImgDist, ImgMargin show up in Object inspectors as 0'es ignoring the default values - I can change them to any value I want, but when the program is run, the 0'ers are used -ignoring defaults and ignoring settings in Object inspector...
Same thing with BevelInner - I set it to bvLowered, and that is what it is in designer and how it is actually drawn in designer - when program runs, it is bvNone when asked (calulating the width of the combined bevel) - but it is drawn lowered...
The real (can have no default calue?) Ratio => FSetRatio, has not been put to use nor tested..
What am I doing wrong?