![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
Тогда придется каждый раз вызывать
Код:
А если делать это при движении мыши, то вообще слишком часто получится. |
![]() |
![]() |
![]() |
#12 | |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
![]()
Есть же WM_PAINT.
В нем классически получаем hDC через BeginPaint. Можно eще WM_ERASEBKGND обработать. Да масса вариантов... Или есть нюанс именно со статиком? Цитата:
Последний раз редактировалось Hailov; 20.11.2016 в 13:21. |
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
![]() |
![]() |
![]() |
![]() |
#15 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
![]()
Вобщем да. Точнее она добавляет новый регион прорисовки (После WM_PAINT все регионы обнуляются). Можно указать вторым параметром NULL и прорисуется вся клиентская зона.
Так намного удобнее: все рисование в классичекой WM_PAINT. У вас еще была проблема с повторными установками атрибутов контекста. Ее можно решить созданием окна с со стилем CS_OWNDC. Последний раз редактировалось Hailov; 20.11.2016 в 14:20. |
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
Таймер нужен только если на экране "движущиеся картинки"... События мыши тоже не особо частые.
А, впрочем, дело хозяйское, храните DC да и меняйте, когда resize будет... Вы, похоже, всегда целиком все окно рисуете... |
![]() |
![]() |
![]() |
#18 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#19 | |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
![]() Цитата:
Еще, как вариант, при сложной логике рисования, где критична скорость выполнения и где можно пренебречь излишнем использованием памяти, можно всю отрисовку выполнять на битмэпе в памяти, а в нужный момент: InvalidateRect вызывает WM_PAINT и в нем BitBlt куска битмэпа на контекст окна. PS/ Вы вроде как дельфи юзаете. Не исключено, что формы порождаемые им уже имеют стиль CS_OWNDC. Гляньте SPY+ Последний раз редактировалось Hailov; 20.11.2016 в 17:21. |
|
![]() |
![]() |
![]() |
#20 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
ладно, разберусь
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пропали контролы с формы | Дамир | Общие вопросы .NET | 6 | 11.01.2017 23:16 |
пользовательские контролы | ts-alan | ASP.NET | 3 | 30.03.2015 16:18 |
Контролы для Silverlight (4,5) | LeniumSoft | WPF, UWP, WinRT, XAML | 1 | 07.07.2012 20:32 |
Контролы SilverLight | Elkenos | WPF, UWP, WinRT, XAML | 1 | 12.02.2011 10:23 |
Контролы на baloonhint | Toxa | Компоненты Delphi | 0 | 06.11.2007 17:33 |