1) Ну "проще уж некуда" это слишком сильно сказано. Окошко у меня расширяющееся, на панели сидит.
2) Свой скроллбокс не будет таким красивым, как в Виндоуз
3) Идея хорошая, буду пробовать, хоть и неохота, а деваться некуда
4) Не дергается у меня и без этой строчки.
5) Не очень нравится вот этот нюанс:
Код:
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
PaintBox1.Invalidate;
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
BT.Width := BS.Width + (TrackBar1.Position-1) * 2;
BT.Height := BS.Height + (TrackBar1.Position-1) * 2;
BT.Canvas.StretchDraw(Rect(0, 0, BT.Width, BT.Height), BS);
PaintBox1.Canvas.CopyRect(PaintBox1.ClientRect, BT.Canvas, PaintBox1.ClientRect);
end;
Получается, что при перерисовке каждый раз много лишних операций происходит. Я предлагаю на OnPaint только копировать (см. мой вариант), без лишних вычислений.