BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
// return m_wndSplitter.Create(this,
// 2, 2,               // TODO: adjust the number of rows, columns
// CSize(10, 10),      // TODO: adjust the minimum pane size
// pContext); m_wndSplitter.CreateStatic( this, 2, 1 );

m_wndSplitter.CreateView( 0, 0, RUNTIME_CLASS( CMyForm ), 
CSize( 0, 440 ), pContext );
m_wndSplitter.CreateView( 1, 0, RUNTIME_CLASS( CMyView ), 
CSize( 0, 200 ), pContext );
m_wndSplitter.SetActivePane(1,0,NULL);
SetTimer(1,3000,NULL);
// pmyview = new CMyView; return true;}
上面是我将窗口分成两部分void CMyForm::OnDraw(CDC* pDC) 
{
// TODO: Add your specialized code here and/or call the base class
RECT rect;
int i; int mx,my; //中间图标节点坐标
int width,lenth; //窗口长/高
// int ulinenum,dlinenum;  //机器行数// int b1x,b1y,b1l;   //黑线的定位信息
// int b2x,b2y,b2l;
// int uw,uh,mw,mh,dw,dh;
CBitmap bmpPlantUp;
CBitmap bmpPlantMid;
CBitmap bmpPlantDown;

CFont myfont; BITMAP bm;
BITMAP bmmid;
BITMAP bmdown; CDC dcMem;
CDC dcMemMid;
CDC dcMemdown;

CPen* pNewPenGreen,* pNewPenRed;
CPen* pblackpen;

pNewPenGreen=new CPen;
pNewPenRed=new CPen;
pblackpen=new CPen;
pNewPenRed->CreatePen(PS_SOLID,4,RGB(210,0,0));//红
pNewPenGreen->CreatePen(PS_SOLID,4,RGB(0,128,0));//绿
pblackpen->CreatePen(PS_SOLID,4,RGB(0,0,0));//黑
bmpPlantUp.LoadBitmap(IDB_PLANTUP);
bmpPlantUp.GetObject(sizeof(BITMAP),&bm);

uw = bm.bmWidth ;
uh = bm.bmHeight ;// dcMem.CreateCompatibleDC(pDC);
// CBitmap* pbmpOld=dcMem.SelectObject(&bmpPlantUp); bmpPlantMid.LoadBitmap(IDB_PLANTMID);
bmpPlantMid.GetObject(sizeof(BITMAP),&bmmid);
mw = bmmid.bmWidth ;
mh = bmmid.bmHeight ;// dcMemMid.CreateCompatibleDC(pDC);
// CBitmap* pbmpOldMid=dcMemMid.SelectObject(&bmpPlantMid); bmpPlantDown.LoadBitmap(IDB_PLANTDOWN);
bmpPlantDown.GetObject(sizeof(BITMAP),&bmdown);
dw = bmdown.bmWidth ;
dh = bmdown.bmHeight ;// dcMemdown.CreateCompatibleDC(pDC);
// CBitmap* pbmpOlddown=dcMemdown.SelectObject(&bmpPlantDown); GetClientRect(&rect);

width=rect.right-rect.left; //  长
lenth=rect.bottom-rect.top; //  高
// Lanum = vcc.LcNum ;
T2num = vcc.RtNum ; //获得机器行数
ulinenum = (Lanum -1)/ MacNumPerLine +1;
dlinenum = (T2num-1) / MacNumPerLine +1; //获得中心坐标
mx = width/2;
my = PMar+ulinenum*(UpLHigh+uh )+MdLHigh+ mh /2;

//两条黑线
b1y = PMar+ulinenum*(UpLHigh+uh );
// b1y=50;
if (1 == ulinenum )  //Lanum <= MacNumperLine  单行
{
b1x = mx- (( Lanum-1)* UpGInc) / 2; 
b1l = (Lanum-1)* UpGInc;
}
else  //多行
{
b1x = mx- (( MacNumPerLine-1)* UpGInc) / 2; 
if (Lanum % MacNumPerLine)
b1l = (MacNumPerLine-1)* UpGInc+(ulinenum-2)*(UpGInc/(ulinenum));
else
b1l = (MacNumPerLine)* UpGInc-(UpGInc/ulinenum); }
b2y = PMar+ulinenum*(UpLHigh+uh )+2*MdLHigh+ mh;
// b2y=200;
if (1 == dlinenum )  //T2num <= MacNumperLine  单行
{
b2x = mx- ( (T2num-1)* DnGInc) / 2; 
b2l = (T2num-1)* DnGInc;
}
else  //多行
{
b2x = mx- (( MacNumPerLine-1)* DnGInc) / 2; 
if (T2num % MacNumPerLine)
b2l = (MacNumPerLine-1)* DnGInc+(dlinenum-2)*(DnGInc/dlinenum);
else
b2l = (MacNumPerLine)* DnGInc-(DnGInc/dlinenum);
//b2l = (MacNumPerLine+1)* DnGInc-(DnGInc/dlinenum);
} pDC->SelectObject(pblackpen); pDC->MoveTo (b1x,b1y);
pDC->LineTo(b1x+b1l,b1y);
pDC->MoveTo (b2x,b2y);
pDC->LineTo(b2x+b2l,b2y);
//中间的两根黑线
pDC->MoveTo (mx,b1y);
pDC->LineTo(mx,b1y+MdLHigh);
pDC->MoveTo (mx,b2y);
pDC->LineTo(mx,b2y-MdLHigh); dcMemMid.CreateCompatibleDC(pDC);
CBitmap* pbmpOldMid=dcMemMid.SelectObject(&bmpPlantMid); pDC->BitBlt(mx-mw/2,my-mh/2,mw,mh,&dcMemMid,0,0,SRCAND);
dcMemMid.SelectObject(pbmpOldMid); myfont.CreateFont (24,0,0,0,FW_BOLD,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,FF_MODERN,"Arial");
pDC->SelectObject (&myfont);
int curx,cury;
dcMem.CreateCompatibleDC(pDC);
CBitmap* pbmpOld=dcMem.SelectObject(&bmpPlantUp); for (i=0;i<Lanum;i++)
{ if (lflag[i])  //green
{
pDC->SelectObject(pNewPenGreen);
pDC->SetTextColor(RGB(0,120,0)); 
} else {
pDC->SelectObject(pNewPenRed);
pDC->SetTextColor(RGB(210,0,0)); 
} curx = b1x+(i % MacNumPerLine)*UpGInc+(i/MacNumPerLine)*(UpGInc/ulinenum);
cury = b1y-UpLHigh-(i/MacNumPerLine)*(UpLHigh+uh);
pDC->MoveTo (curx,b1y);
pDC->LineTo(curx,cury);

pDC->BitBlt(curx-uw/2,cury-uh,uw,uh,&dcMem,0,0,SRCAND);
pDC->TextOut (curx-uw/2,cury-uh-20 ,(vcc.pLcList+i)->LcName );
}

dcMemdown.CreateCompatibleDC(pDC);
CBitmap* pbmpOlddown=dcMemdown.SelectObject(&bmpPlantDown); for (i=0;i<T2num;i++)
{ if (colorflag[i])  //green
{
pDC->SelectObject(pNewPenGreen);
pDC->SetTextColor(RGB(0,120,0)); 
} else {
pDC->SelectObject(pNewPenRed);
pDC->SetTextColor(RGB(210,0,0)); 
} curx = b2x+(i % MacNumPerLine)*DnGInc+(i/MacNumPerLine)*(DnGInc/dlinenum);
cury = b2y+DnLHigh+(i/MacNumPerLine)*(DnLHigh+dh);
pDC->MoveTo (curx,b2y);
pDC->LineTo(curx,cury);

pDC->BitBlt(curx-dw/2,cury,dw,dh,&dcMemdown,0,0,SRCAND);

pDC->TextOut (curx-dw/3,cury+dh+3 ,(vcc.pRtList +i)->peerName  );
} /*

dcMem.SelectObject(pbmpOld);*/
delete pNewPenGreen;
delete pNewPenRed;
delete pblackpen;}
当我拖动划分2部分区域的分界线,当上部分FORM区域变小时出现了滚动条,但FORM中图的下部分没有全部显示出来,如何解决这个问题?谢谢?急!若没看懂我所讲的,我在线等待!