Здравствуйте, Serguei666, Вы писали:
S>Здравствуйте, DrMom, Вы писали:
DM>У меня не получается самостоятельно ресайзить окно и заставить его востонавливать свой фон. Получается только либо окно ресайзится и само полностью перерисовывается, либо ресайзится мной, но перерисовывается хреново, оставляя не востановленным фон. Может кто подскажет, что надо изменить, мож стиль какой в классе окна или еще чего?
S>Invalidate() вы вызываете?
S>А вообще желательно бы на код глянуть
void CMainFrame::OnSizing(UINT nSide, LPRECT lpRect)
{
SECFrameWnd::OnSizing(nSide, lpRect);
CRect curRect;
MoveWindow(lpRect,false);
Invalidate();
::SendMessage(m_hWnd,WM_NCPAINT,1,0);
// ::SendMessage(m_hWnd,WM_ERASEBKGND,(UINT)GetDC(),0);
POSITION pos = m_listControlBars.GetHeadPosition();
while(pos != NULL)
{
SECCustomToolBar* pBar = (SECCustomToolBar*)m_listControlBars.GetNext(pos);
if(ISA(pBar,SECCustomToolBar))
{
pBar->GetWindowRect(&curRect);
ScreenToClient(&curRect);
ValidateRect(&curRect);
}
}
}
Окошки за главным окном портятся и не восстанавливаются. Хотя своей цели я добиваюсь. Т.е. тулбары не мерцают при ресайзинге.