powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перерисовка Image
14 сообщений из 14, страница 1 из 1
Перерисовка Image
    #32106388
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привер Всем!
Имеется форма на которую положен Image с Align=alClient
Если менять размер формы во время работы проги то
перерисовывается только изменяемая часть Image.
Как заставить перерисоваться весь image?
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106390
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какой компонент-то используется? :-)
Весь image можно заставить перерисоваться командной image.Update...
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106392
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Image : TImage

Image.Update, Refresh, Repaint не работает
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106394
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Налицо глюк...
Кстати, что значит "изменяемая часть Image"?
Напиши подробней, я у себя попробую...
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106404
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Форма первоначально не во весь экран.
Когда я его максимизирую перерисовывается только ранее невидимая
часть на форма. Остальное изображение неизменно.
Картинка растянута во всю форму.
Получается часть картинки (ранее видимая) в прежнем варианте,
а часть в новом варианте.
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106411
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гм. У меня всё нормально. Перерисовывается всё и при изменении размеров и при максимизации окна...
У меня Delphi 6. Давай пиши ещё подробней, какие свойства у формы, какие у Image, какие события обрабатываешь...
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106412
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В догонку.
Если Image предварительно положить на Panel с Align=alClient,
то все работает корректно.

Но панелька мне не подходит т.к. FormStyle:=fsMDIForm.
И при вызове Childa панель перекрывает это окно.
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106421
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал новый проект.
Form1.FormStyle:=fsMDIForm
Form1.WindowState:=wsNormal
Размер с пол экрана

Image1.Align:=alClient
Image1.Center:=True
Image1.Stretch:=True

B Image1 кидаю картинку из файла (обычная BMP).
Запускаю прогу. Максимизирую форму и опс.

procedure TForm1.FormResize(Sender: TObject);
begin
Image1.Repaint; ---- не помагает
end;
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106429
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ага, как только установил FormStyle:=fsMDIForm, сразу и перестало работать...
Попытал, попытал и... Видимо, не могу ничем помочь с ходу...
Придётся тебе разбираться, смотреть исходники VCL или искать другие варианты... :(
Глюк это или нет, не знаю, может так и задумано, но...
Поскольку он часть изображения всё-таки перерисовывает, значит, он перерисовка вызывается, но ей передан контекст, содержащий только часть окна (за пределами контекста она рисовать не может)... Удачи!
...
Рейтинг: 0 / 0
Перерисовка Image
    #32106517
Фотография Jozo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот так попробуй и будет тебе щастье

procedure TForm1.FormResize(Sender: TObject);
begin
Image1.Align:=alBottom;
Image1.Align:=alClient;
end;
...
Рейтинг: 0 / 0
Перерисовка Image
    #32107036
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Jozo
Это работает.
НО!
Если на форме имеется панелька или CoolBar c Align:=alTop, то
при выставлении Image1.Align:=alClient появляется нехороший эффект.
Весь Image сдвигается на величину Heigth вниз. Т.е. прорисовка начинается
не с нижней кромки CoolBar, а отступив вниз величину его высоты.
...
Рейтинг: 0 / 0
Перерисовка Image
    #32107443
An24
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще проще.
Image.Width:=Image.Width+1;
Или с высотой.
...
Рейтинг: 0 / 0
Перерисовка Image
    #32107637
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема с Image1.Top, который при Align:=alClient становится
равным CoolBar1.Height, а в FormStyle:=fsMDIForm по идее должен
быть равным 0. Поэтому и происходит сдвижка вниз.
Поменять же Top на 0 при Align:=alClient не могу.
...
Рейтинг: 0 / 0
Перерисовка Image
    #32108095
Фотография Jozo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
типа ну что могу сказать ... тогда юзай компоненту LMDFormFill из пакета LMDTools .. и точно будет тебе щастье :))
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Перерисовка Image
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]