|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
Не могу отправить окну сообщение WM_PAINT (точнее, не могу перерисовать окно)17.01.2013, 11:14. Показов 6074. Ответов 18
Метки нет (Все метки)
Смотрите оконную функцию она в самом низу. Всё остальное шаблонный код по созданию окна.
Спасибо, кто откликнется.
0
|
||||||
| 17.01.2013, 11:14 | |
|
Ответы с готовыми решениями:
18
не могу отправить сообщение Отправить сообщение окну VkApi / Vk.Net - Не могу отправить сообщение |
|
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
|
|
| 17.01.2013, 13:45 | |
|
Тебе нужна бегущая строка? Тогда WM_PAINT не подойдет, как по мне. Ближе к вечеру постродаю с этим, если чё.
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 17.01.2013, 14:24 | |
|
i слишком быстро выходит за пределы строки, а старый текст нигде не стирается. А так всё более-менее.
И UpdateWindow просто вызывает WndProc с WM_PAINT, если есть неперерисованные части, так что в обработчике WM_PAINT он точно не нужен.
0
|
|
|
Супер-модератор
|
||
| 17.01.2013, 14:59 | ||
|
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||||
| 17.01.2013, 15:50 [ТС] | |||||||||
|
Короче всё решилось так:
Но на самом деле это фигня, я это сделал неосмысленнно, я угадал. Почему я вижу это решение корявым? А вот:
Короче, как у меня стек не рушится- непонятно.
0
|
|||||||||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|||
| 17.01.2013, 16:59 | |||
|
(Аналогично, например, WM_QUIT: если после PostQuitMessage послать ещё какое-то сообщение, то оно обработается до WM_QUIT.)
0
|
|||
|
Супер-модератор
|
||
| 17.01.2013, 17:26 | ||
|
Так что не надо вот этих вот догадок. Я знаю, как оно работает. Если задан стиль CS_HREDRAW | CS_VREDRAW - то сообщения не приходят при простом перемещении окна. Сделай размеры окошка в CreateWindow поменьше (скажем, 300x150, чтоб случайно не вылететь), и затаскайся по десктопу, ни одного WM_PAINT-а не увидишь...
0
|
||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 17.01.2013, 20:26 [ТС] | |
|
Ну хорошо, пусть окну не посылается WM_PAINT когда оно не не посылается. Согласен.
Фактически вы научили меня как таскать окно, чтобы к нему не приходили WM_PAINT и как таскать окно, чтобы к нему приходили WM_PAINT. Спасибо, за науку, а как на счёт вопроса? Итак, таскаем окно, чтобы к нему приходили WM_PAINT- просто заводя его за края декстопа. Ну вот, собсно и всё. Вопрос- как сделать чтобы при отрисовке оно отрисовалось. То есть я задумываю при каждой обработке WM_PAINT уменьшить строчку на один символ, а не получается. От чего ушли к тому и пришли. Я нашёл какой-то там способ (выше описал), но хотелось бы всё же осмысленное что-нибудь.
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 17.01.2013, 22:01 | |
|
А, забыл сказать. При использовании BeginPaint + EndPaint перерисовываются только те части окна, которые надо перерисовать, остальные отсекаются. Если угол окна был загорожен другим окном, то от перерисовки текста в середине результата не будет, потому что эта часть окна не была "испорчена".
Общая логика такая: событие, которое меняет какие-то данные, вызывает InvalidateRect, а получившийся WM_PAINT перерисовывает всё, что надо.
1
|
|
|
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
|
||||||
| 17.01.2013, 22:02 | ||||||
0
|
||||||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 17.01.2013, 22:09 | |
|
Digit@ll, GetWindowDC - всегда, а ReleaseDC - в if'е - не айс.
Добавлено через 3 минуты Да и отрисовывать по WM_TIMER не очень хорошо, потому что если потом будет WM_PAINT, то он или затрёт всё, или в нём придётся писать тот же самый DrawText...
0
|
|
|
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
|
|
| 17.01.2013, 22:17 | |
|
Да, возможно, я думал об этом, тогда добавь и ему статичности. И оставьте уже WM_PAINT, он безобидный, если его не трогать.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||
| 17.01.2013, 22:24 [ТС] | |||||||
|
Somebody,
Тогда я угадал с этим кодом.
0
|
|||||||
|
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
|
|
| 18.01.2013, 00:38 | |
|
Ну и kravam, сам себя хвалит. У-ха-ха.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 18.01.2013, 08:02 [ТС] | |
|
Я бы по-другому это назвал. Делаю выводы о правильности или неправильности своего решения.
0
|
|
|
Brainsbreaker
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
|
|
| 18.01.2013, 11:47 | |
|
Я это к тому, что у тебя мутотень в коде. Но по-правде сказать мне эта возня надоела, давай уже что-то новое.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 18.01.2013, 12:49 [ТС] | ||||||
|
Это код Айзелиона, если ты знаешь, кто это такой. И я добавил туда лишь
Убирается на раз. Ты не этого не сделал потому, что ты не умеешь. Тебе проще сказать "мутотень" нежели попытаться исправить- а это делается, потворю ОЧЕНЬ ЛЕГКО. Да и не факт, что править надо. Вердикт: мутотень у меня в коде всяко лучше чем мутотень у тебя в голове.
0
|
||||||
| 21.01.2013, 13:19 | |
|
Не по теме: Да, золотые слова. Пусть мутотень будет у тебя в кодах, чем у меня в голове. Всех благ.
0
|
|
| 21.01.2013, 13:32 [ТС] | |
|
0
|
|
| 21.01.2013, 13:32 | |
|
Помогаю со студенческими работами здесь
19
Не могу отправить сообщение на почту mail.ru Отправить сообщение окну из программы-сервиса Помогите с MFC. Не могу разобраться с WM_PAINT Не могу отправить сообщение по Winsock компу с русским именем Не могу перерисовать панели Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|