Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Узнать, установлен ли SetRedraw |
Автор: Kostt 25.8.2009, 10:31 |
Здравствуйте! Простая с виду задача, а не могу ни в MSDN ни в интернете найти решение. Необходимо по имеющемуся указателю CWnd* определить, установлен ли у него флаг SetRedraw() |
Автор: Andrey44 25.8.2009, 11:04 |
А зачем? Если надо pWnd->SetRedraw(); А если не надо pWnd->SetRedraw(FALSE); |
Автор: Kostt 25.8.2009, 11:11 | ||
Нужно выполнять некоторые действия только если Redraw включен |
Автор: Earnest 26.8.2009, 07:59 | ||
Действительно, при беглом поиске никаких способов спросить у окна этот самый RedrawFlag я не нашла. Но зато нашла следующее довольно забавное замечание:
Т.е. можно попробовать спрашивать флаг стиля WS_VISIBLE, причем именно через GetWindowLong (GWL_STYLE). Хотя статейка старая, от 2000 года, может, что-то изменилось. Если не получится, то можно завести в окне собственный флаг, перехватить WM_SETREDRAW и устанавливать его в обработчике, а потом вызывать стандартную реализацию. |