在OnVScroll中发送WM_SIZE要循环3次

求助:在OnVScroll中发送WM_SIZE要循环3次
将单文档程序拆分成两个窗口(VIEW1,VIEW2),在View1中放3个滚动条来改变RGB三种颜色的大小从而改变View2的背景颜色.在View2的OnSize中用setclasslong改变背景,在View1的OnScroll中发送WM_SIZE消息。直接运行时没有效果,调试运行发现要进入OnVScroll三次后View2的背景色变为相应的颜色。部分代码如下:
void CMyView1::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
// TODO: Add your message handler code here and/or call default
CString temp[3];
static CString value;
switch(nSBCode)
{
case SB_BOTTOM:
{
                      if(pScrollBar==&m_blueScroll)
{
m_blueScroll.SetScrollPos(255);
m_nRGB[2]=m_blueScroll.GetScrollPos();
temp[2].Format("%s",m_nRGB[2]);break;
}
else if(pScrollBar==&m_greenScroll)
{
m_greenScroll.SetScrollPos(255);
m_nRGB[1]=m_greenScroll.GetScrollPos();
temp[1].Format("%s",m_nRGB[1]);break;
}
else if(pScrollBar==&m_redScroll)
{
m_redScroll.SetScrollPos(255);
m_nRGB[0]=m_redScroll.GetScrollPos();
temp[0].Format("%s",m_nRGB[0]);break;
}
}break;
。。。。
CMainFrame *mainFrame=(CMainFrame*)AfxGetMainWnd();
CmyView2 *view=(CmyView2*)mainFrame->m_mySplitWnd1.GetPane(0,1);
::SendMessage(view->m_hWnd,WM_SIZE,0,0);
CFormView::OnVScroll(nSBCode, nPos, pScrollBar);}

------最佳解决方案--------------------
引用:
引用:试试用OnSizing ,
已经解决了,用invalidate就OK了
请教另一个问题,也是这个程序在VIEW2中的OnPaint用TEXTOUT可以输出文字,但为什么在OnDraw中用TEXTOUT输出的文字显示不出来???

检查一下文字的颜色,如果和背景颜色一样你就看不出来了
------其他解决方案--------------------
使用的CDC对象有问题。自己检查
一个是CPaintDC,一个是GetDC对象
------其他解决方案--------------------
试试用OnSizing ,
------其他解决方案--------------------
引用:
试试用OnSizing ,

已经解决了,用invalidate就OK了
请教另一个问题,也是这个程序在VIEW2中的OnPaint用TEXTOUT可以输出文字,但为什么在OnDraw中用TEXTOUT输出的文字显示不出来???
------其他解决方案--------------------
知道了,是那个View的基类是CEditView,谢谢各位了~~