|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.11.2016, 11:32 | #11 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Тогда придется каждый раз вызывать
Код:
А если делать это при движении мыши, то вообще слишком часто получится. |
20.11.2016, 13:16 | #12 | |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
Есть же WM_PAINT.
В нем классически получаем hDC через BeginPaint. Можно eще WM_ERASEBKGND обработать. Да масса вариантов... Или есть нюанс именно со статиком? Цитата:
Последний раз редактировалось Hailov; 20.11.2016 в 13:21. |
|
20.11.2016, 13:23 | #13 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
20.11.2016, 13:28 | #14 |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
|
20.11.2016, 13:54 | #15 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
20.11.2016, 14:13 | #16 |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
Вобщем да. Точнее она добавляет новый регион прорисовки (После WM_PAINT все регионы обнуляются). Можно указать вторым параметром NULL и прорисуется вся клиентская зона.
Так намного удобнее: все рисование в классичекой WM_PAINT. У вас еще была проблема с повторными установками атрибутов контекста. Ее можно решить созданием окна с со стилем CS_OWNDC. Последний раз редактировалось Hailov; 20.11.2016 в 14:20. |
20.11.2016, 14:29 | #17 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Таймер нужен только если на экране "движущиеся картинки"... События мыши тоже не особо частые.
А, впрочем, дело хозяйское, храните DC да и меняйте, когда resize будет... Вы, похоже, всегда целиком все окно рисуете... |
20.11.2016, 16:48 | #18 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
20.11.2016, 17:13 | #19 | |
Пользователь
Регистрация: 08.10.2016
Сообщений: 18
|
Цитата:
Еще, как вариант, при сложной логике рисования, где критична скорость выполнения и где можно пренебречь излишнем использованием памяти, можно всю отрисовку выполнять на битмэпе в памяти, а в нужный момент: InvalidateRect вызывает WM_PAINT и в нем BitBlt куска битмэпа на контекст окна. PS/ Вы вроде как дельфи юзаете. Не исключено, что формы порождаемые им уже имеют стиль CS_OWNDC. Гляньте SPY+ Последний раз редактировалось Hailov; 20.11.2016 в 17:21. |
|
20.11.2016, 17:19 | #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 |