Здравствуйте, Гость
Вторник, 12.12.2017, 04:37
Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: Admin 
Форум » Все о Delphi » Графика и игры » Image align = alClient, form resize. (Решение проблемы!)
Image align = alClient, form resize.
DJ_ЕвсДата: Среда, 12.01.2011, 23:18 | Сообщение # 1
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
Столкнулся сам с такой проблемой! Решения в интернете не нашёл. Решил поделиться успешным экспериментом.

На форме Image1 с Align=alClient.
При уменьшении размера формы все работает нормально, а при увеличении белый прямоугольник первоначального размера Image1 не изменяется, за его пределами ничего не рисуется и Image1 мерцает. Размеры выводятся правильные.

Решение:
1. Мерцание исправляется легко - ставим Doublebuffered:=true; и больше не мерцает.
2. Чтобы имиджа адекватно реагировала на изменения размеров формы, нужно всего-лишь сделать следующее:

Code
procedure TForm1.FormResize(Sender: TObject);
begin
  Form1.Image1.Picture.Bitmap.Width := Image1.Width;
  Form1.Image1.Picture.Bitmap.Height := Image1.Height;
end;

Спасибо за внимание. Читал много вопросов и ни одного ответа. Надеюсь, кому-нибудь пригодится. smile


ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
AdminДата: Воскресенье, 16.01.2011, 18:37 | Сообщение # 2
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Хмм, прикольно

Не оказываю помощь через личные сообщения и ICQ
 
DJ_ЕвсДата: Воскресенье, 16.01.2011, 18:40 | Сообщение # 3
Ранг 6
Группа: Проверенные
Сообщений: 165
Награды: 3
Репутация: 1
Статус: Offline
Вот что особенно прикольно. Почему при ресайзе компонента по умолчанию не ресайзятся его составляющие. И вообще - как это всё там происходит? Ведь если до первой отрисовки чего бы то ни было растянуть имиджу, то битмап растягивается нормально и всё приобретает те размеры, которые у имиджы. А при первой отрисовке они насмерть фиксируются.

ПРОЙДИ ТЕСТ!!!!!
http://FIDO20.ru/test.php?4052&c=bbea2a1

 
XakerДата: Вторник, 20.12.2011, 19:04 | Сообщение # 4
Ранг 4
Группа: Проверенные
Сообщений: 83
Награды: 1
Репутация: 0
Статус: Offline
спасибо, пригодилось) respect
 
Форум » Все о Delphi » Графика и игры » Image align = alClient, form resize. (Решение проблемы!)
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2017
Хостинг от uCoz