1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| procedure TmyBitBtn.Anchoring;
begin
if not FGlyph.Empty then
with FImage do begin
AnchorSideTop.Control:= Self;
AnchorSideTop.Side := asrCenter;
if FGlyphPosition = aGlyphLeft then begin
AnchorSideLeft.Control:= Self;
AnchorSideLeft.Side := asrLeft;
BorderSpacing.Left := FGlyphHorizSpace;
Anchors := Anchors +[akTop, akLeft];
end else begin
AnchorSideRight.Control:= Self;
AnchorSideRight.Side := asrRight;
BorderSpacing.Right:= FGlyphHorizSpace;
Anchors := Anchors +[akTop, akRight] -[akLeft];
{!! Par défaut akLeft et akTop sont sélectionnés donc -[akLeft]}
end;
end;
with FLabel do begin
Alignment := taCenter;
Layout:= tlCenter;
AnchorSideTop.Control := Self;
AnchorSideTop.Side := asrTop;
AnchorSideBottom.Control := Self;
AnchorSideBottom.Side := asrBottom;
if FGlyphPosition = aGlyphLeft then begin
AnchorSideRight.Control := Self;
AnchorSideRight.Side := asrRight;
BorderSpacing.Right := 0;
AnchorSideLeft.Control := Self;
AnchorSideLeft.Side := asrLeft;
BorderSpacing.Left := FGlyphHorizSpace +FImage.Width;
// AnchorParallel(akLeft,0,FImage);
Anchors := Anchors +[akTop, akBottom, akLeft, akRight];
end else begin
AnchorSideLeft.Control := Self;
AnchorSideLeft.Side := asrLeft;
BorderSpacing.Left := 0;
AnchorSideRight.Control := Self;
AnchorSideRight.Side := asrRight;
BorderSpacing.Right := FGlyphHorizSpace +FImage.Width;
Anchors := Anchors +[akTop, akBottom, akLeft, akRight];
end;
end;
end; |
Partager