Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Delphi: Общие вопросы > Lazarus – TImage и OnResize |
Автор: Jin X 30.11.17, 20:39 |
Вопрос касается именно Lazarus'а, т.к. в Delphi такого глюка нет. Image привязан якорями (Anchors) к форме. Однако, если поменять размер формы, то размер канваса не меняется (в Delphi тоже). Изменить размер канваса можно, например, так (из OnResize формы): <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> Image1.Picture.Bitmap.Width := Image1.Width; Image1.Picture.Bitmap.Height := Image1.Height; Но тут есть нюанс: при увеличении размера окна появляются чёрные куски в той области, где происходит увеличение. Как сделать, чтобы такого не было? Скажем, вот такой код: <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> в Delphi работает прекрасно, а вот в Lazarus появляются чёрные глюки... procedure TForm1.FormResize(Sender: TObject); begin with Image1.Canvas, Image1 do begin Picture.Bitmap.SetSize(Width, Height); Brush.Color := clYellow; FillRect(ClipRect); end; end; |
Автор: Jin X 01.12.17, 07:59 |
Видео: https://cloud.mail.ru/public/LVTc/2QVMfnBBQ |