-
Santa (01.07.11 16:57) [0]В следующем коде проблема в том, что PaintBox, не хочет устанавливаться в нужное место
var
ScrollBox,PaintBox:PControl;
BitMap:PBitMap;
begin
ScrollBox:=NewScrollBoxEx(Form,esLowered).SetPosition(0,0).SetSize(300,300);
ScrollBox.Color:=ClGray;
PaintBox:=NewPaintBox(ScrollBox).SetPosition(20,10);
PaintBox.OnPaint:=KOLPaint;
BitMap:=NewDIBBitMap(100,150,pf16bit);
BitMap.Canvas.Brush.Color:=clWhite;
BitMap.Canvas.FillRect(BitMap.BoundsRect);
При использовании NewScrollBox вместо NewScrollBoxEx таких проблем не возникает. Как это исправить? -
Santa (01.07.11 17:05) [1]P.S. версия библиотеки взята от 21.06.2011
-
ScrollBox пересчитывает свою клиентскую часть сам, перечисляя дочерние контролы. Либо надо поместить в "правильный" левый верхний угол еще один пустой PaintBox 1x1 либо задать ширину бордюра, как-то так.
-
Santa (04.07.11 09:27) [3]Тогда непонятно почему получается разное поведение с обыкновенным NewScrollBox и расширенным NewScrollBoxEx.
-
Santa (04.07.11 11:21) [4]Странно конечно, ничего не понял, ничего не понял, но с пустым PaintBox в правом верхнем углу сработало. И все таки что там за разница в NewScrollBox и NewScrollBoxEx, что бы дочерние контролы по разному перерисовывались.