![]() |
|
|
![]()
|
|
| vvpC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.5.2006 Где: Москва Репутация: нет Всего: нет |
объяви собственные сообщения и шли их окну А, а в параметры можно запокавать хендл окна B , чтоб не ошибится...
|
|||
|
||||
| maq |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
а можно по-подробнее? Я не очень-то понял. |
|||
|
||||
| vvpC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 20.5.2006 Где: Москва Репутация: нет Всего: нет |
Это сообщение отредактировал(а) vvpC - 16.6.2006, 14:58 |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
Господи , уже два месяца наблюдаю ваш сериал.. Неужели так ТРУДНО ЗАПРЕТИТЬ перерисовк????? LockWindowUpdate() RedrawWindow() Invalidate() SetRedarw() Ну, может хватит велосипеды изобретать? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| maq |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Спасибо за совет, Coocky, но все это я уже перепробовал! |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 25 Всего: 62 |
И что -перерисовывается? А можно узнать-как ты пробывал? -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
простите за мою не образованность но как и где это делается . (в вин апи я знаю как такое сделать, а в мфс)? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Практически так же. Никто не запрещает делать через WINAPI, только функцию оконную подставить нужно MFC-шную. Но в MFC есть удобные функции-обертки AfxRegisterClass и AfxRegisterWndClass. В частности, они проверяют, что класс не регистрируется повторно и обеспечивают удаление (де-регистрацию) класса на выходе. Эти функции удобно использовать в PreCreateWindow. Кроме того, по моему можно убрать CS_REDRAW из стиля класа прямо у окна, не регистрируя специальный класс... через SetClassLong. -------------------- ... |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
Перезарегистрировал класс. В коей мере удаление этих стилей помогло,НО!
У меня на моей форм-вью есть актив-х контрол, который занимает оснвную область окна: Если размер окна меньше чем 800х600, размер актив-х контрола не менянется, но когда размер окна увеличивается больше указаного, я начинаю растягивать и контрол...вот тогда снова начинается мигание... можно от него(мигания) как то ещё избавиться.... Ps. ещё пробывал OnEraseBackground(...) { return 1; } не помогает...(не влияет на мигание (перерисовку) внутренностей актив-х контрола). |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
C актив-X контролом нужно бороться аналогично (с его окном). Раз мигает он, из парента больше не выжмешь...
-------------------- ... |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
В том то и дело что всё сделал в классе актив х контрола, тоже что и в мди-окне. Не помогло...
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Да вряд ли в самом актив-Х контроле это сделал - скорее в окне, в которое он помещается...
Ты посмотри Спаем, что там за окна, и какие у них стили... Но не факт, что сможешь изменить поведение актив X - все-таки это черный ящик... Можно попробовать перенаправить его вывод в совместимый контекст... но это уже так, фантазии на тему - тут нужно предметно рыться в коде и пробовать. -------------------- ... |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
Для меня это черный лес... а времени разбиратся не особо есть.... .... Попробую плясать по другому: Если, допустим, окно перерисовывать на ресайзе, только тогда, когда событие выполнилось, а именно отпустили левую кнопку мыши (уже перетянули форму) .... Немного не красиво, но лучше мигания.... Хм.. как мне перехватить это нажатие OnLButtonUp (..) {..} ведь нажатие происходит не непосредственно в моём классе форм-вью, где я обрабатываю OnSize() {...} ... |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Для этого есть PreTranslateMessage на одном из родителей...
Но сомневаюсь, что поможет: ты разве сам Invalidate вызываешь на ресайзе? -------------------- ... |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
Нет, но пробывал сам Invalidate вызывать ... для Active-X контрола не помогает.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |