Witam,
mam problem z repaintem, który to odrysowuje zawartość okna na toolbarze choć nie powinien. Nie mam pojęcia jak to wyeliminować. Oto kod odpowiedzialny z tworzenie toolbaru:

TBBUTTON tbb[6];
	ZeroMemory( tbb, sizeof( tbb ) );
	tbb[0].idCommand = ID_TBB_BUTTON1;
	tbb[0].iBitmap = tbb[0].iString = 0;
	tbb[0].fsState = TBSTATE_ENABLED;
	tbb[0].fsStyle = TBSTYLE_GROUP;
        // pozostale definiowanie przyciskow...
	
	m_hToolbar = CreateWindowEx( 0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, m_hWnd, NULL, GetModuleHandle( NULL ), NULL );
	SendMessage( m_hToolbar, TB_BUTTONSTRUCTSIZE, ( WPARAM )sizeof( TBBUTTON ), 0 );

	TBADDBITMAP tbab;
	tbab.hInst = GetModuleHandle( NULL );
	tbab.nID = IDR_TOOLBAR1;
	SendMessage( m_hToolbar, TB_ADDBITMAP, 5, ( LPARAM ) &tbab );
	SendMessage( m_hToolbar, TB_ADDBUTTONS, sizeof( tbb ) / sizeof( TBBUTTON ), ( LPARAM ) &tbb );

Odpowiedź na komunikat WM_PAINT:

	case WM_PAINT:
		DrawAll();
		ValidateRect(m_hWnd, NULL);
		return TRUE;

Funkcja DrawAll();

void COkno::DrawAll()
{
	HDC hdcBufor;
	HBITMAP hbmBuf, hbmOldBuf;

	PAINTSTRUCT ps;

	HDC hDC = NULL;
	hDC = BeginPaint( m_hWnd, &ps );
	
		hdcBufor = CreateCompatibleDC( hDC );
		hbmBuf = CreateCompatibleBitmap( hDC, ps.rcPaint.right, ps.rcPaint.bottom );
		hbmOldBuf = ( HBITMAP ) SelectObject( hdcBufor, hbmBuf );

		RECT rc = ps.rcPaint;

		FillRect(hdcBufor, &rc, ( HBRUSH ) GetStockObject( WHITE_BRUSH ) );

		BitBlt ( hDC, 0, 0, ps.rcPaint.right, ps.rcPaint.bottom, hdcBufor, 0, 0, SRCCOPY );
		SelectObject( hdcBufor, hbmOldBuf );

		ReleaseDC( m_hWnd, hdcBufor );
		DeleteObject( hdcBufor );
		DeleteObject( hbmBuf );

	EndPaint( m_hWnd, &ps );
	ReleaseDC( m_hWnd, hDC );

} // {end} void COkno::DrawAll()

Jeżeli klikam w miejsce gdzie powinien znajdować się przycisk, to się odrysowuje i faktycznie tam jest. Natomiast jeżeli ruszę myszą to wszystko jest zamalowywane przez biały prosokąt (przy WM_MOUSEMOVE mam InvalidateRect i o to mi chodziło, jednakże nie powinien być uwzględniany przy tym toolbar). Jeżeli daję InvalidateRect( m_hToolbar, NULL, TRUE ); po ValidateRect(m_hWnd, NULL); w WM_PAINT to jest odrysowany, lecz przy poruszaniu mysza miga, przez to, że ten biały prostokąt jest rysowany na nim. Może jakieś podpowiedzi?