At th procedure TGDIPButton.Draw ios something wrong code:
...
if not VerticalText then
begin
tw := sizer.Width;
th := sizer.Height;
end
else
begin
tw := TextW;
th := TextH;
end;
**if Down then**
**pt := MakePoint(X + ShiftDown, Y + ShiftDown + (Height - th) / 2)**
**else**
**pt := MakePoint(X + ShiftDown, Y + ShiftDown + (Height - th) / 2);**
...
This is duplicate code