Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как перерисовать компонент на форме. / 13 сообщений из 13, страница 1 из 1
17.01.2019, 21:45
    #39761165
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Добрых суток.

Динамически размещаю объекты на форме (в данном случае GroupBox). И вот когда он выходит за "рамки" на нем появляются артефакты.
Как можно перерисовать объект?

Прикреплю скриншот (сверху нормальный объект, снизу объект курильщика)

Спасибо.
...
Рейтинг: 0 / 0
17.01.2019, 21:47
    #39761166
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
FIL23,

GroupBox1.Update пробовал?
...
Рейтинг: 0 / 0
17.01.2019, 22:05
    #39761168
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
YuRockFIL23,

GroupBox1.Update пробовал?

не помогает.

Этот артефакт возникает когда я двигаю компоненту (забыл написать). Я передвигаю компоненту за предположим левый край и появляются такие полоски.
...
Рейтинг: 0 / 0
18.01.2019, 02:38
    #39761206
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
FIL23,

Понятно, Form1.Update.
...
Рейтинг: 0 / 0
18.01.2019, 14:22
    #39761504
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
FIL23не помогает.

Этот артефакт возникает когда я двигаю компоненту (забыл написать). Я передвигаю компоненту за предположим левый край и появляются такие полоски.RTFM RedrawWindow() у парента
...
Рейтинг: 0 / 0
18.01.2019, 14:31
    #39761507
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Не надо маскировать симптомы, надо фиксить процедуру анимации перетаскивания.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2019, 15:12
    #39761538
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Dimitry Sibiryakov,
А как ее профиксить?
Parent - тоже GroupBox, если он не перерисовывается, значит косяк в исходниках.
Проще всего Parent.Invalidate.
...
Рейтинг: 0 / 0
18.01.2019, 15:24
    #39761552
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Соколинский БорисА как ее профиксить?
Parent - тоже GroupBox, если он не перерисовывается, значит косяк в исходниках.

Так же как и любого другого бага: правкой исходников.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2019, 15:30
    #39761562
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Dimitry SibiryakovТак же как и любого другого бага: правкой исходников. ИМХО, это очень плохая практика.
Если есть возможность - лучше обойтись.
...
Рейтинг: 0 / 0
18.01.2019, 15:53
    #39761582
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Dimitry SibiryakovТак же как и любого другого бага: правкой исходников.Коль на то пошло - то фиксить баги в исходниках должен тот кто их написал. А фиксы в исходниках VCL неблагодарная вещь: проблемы в переездах на новую версию делфей, разница в логике run-time и design-time, возможны проблемы в third-party библиотеках
...
Рейтинг: 0 / 0
18.01.2019, 16:29
    #39761609
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
white_niggerфиксы в исходниках VCL неблагодарная вещь

В исходниках VCL нет таскания контролов в рантайме, он обычно получается хаком с
использованием вообще-то для этого непредназначенного кода для дизайн-тайма.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.01.2019, 17:58
    #39761678
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Dimitry SibiryakovВ исходниках VCL нет таскания контролов в рантайме, он обычно получается хаком с
использованием вообще-то для этого непредназначенного кода для дизайн-тайма.Возможно твой хрустальный шар мощнее. Я не знаю через что у ТС-а это сделано и кто на самом деле виноват.
...
Рейтинг: 0 / 0
18.01.2019, 23:17
    #39761771
FIL23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перерисовать компонент на форме.
Соколинский БорисПроще всего Parent.Invalidate.

Решил применить Invalidate на самом объекте (не на родителе)

GropeBox.invalidate;

Причем применяю его в момент когда двигаю объект.

Согласно документации применение Invalidate не дает потери в производительности.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как перерисовать компонент на форме. / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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