我在VC++6.0环境下,新建了一个MFC单文档工程:工程名:TestList5,然后在CMainFrame类中声明一个CSplitterWnd m_splitter变量,重写了CMainFrame类的虚函数OnCreateClient 内容如下:部分代码省略
BOOL CMainFrame::OnCreateClient(......)
{
....
if(!m_splitter.CreateStatic(this,2,1))
return FALSE;
if(!m_splitter.CreateView(0,0,RUNTIME_CLASS(CTestList5FormView),paneSize,pContext)||
!m_splitter.CreateView(1,0,RUNTIME_CLASS(CTestList5View),paneSize,pContext))
{
m_splitter.DestroyWindow();
return FALSE;
}
return TRUE;
}
然后在项目中新建了一个类:CTestList5FormView : public CFormView 继承于CFormView类
在网上下载了:CHeaderCtrlCl : public CHeaderCtrl,CListCtrlCl : public CListCtrl这两个类,加载到工程中。
然后在CTestList5FormView类中实现了CTestList5FormView::OnInitialUpdate() 虚函数,内容如下:
void CTestList5FormView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
CRect r;
GetClientRect(&r);
m_ListCtrl.MoveWindow(r);
m_ListCtrl.SetBkColor(RGB(0,0,0)); //设置背景色
m_ListCtrl.SetRowHeigt(25); //设置行高度
m_ListCtrl.SetHeaderHeight(1.5); //设置头部高度
m_ListCtrl.SetHeaderFontHW(16,0); //设置头部字体高度,和宽度,0表示缺省,自适应
m_ListCtrl.SetHeaderTextColor(RGB(255,200,100)); //设置头部字体颜色
m_ListCtrl.SetTextColor(RGB(0,255,255)); //设置文本颜色
m_ListCtrl.SetHeaderBKColor(0,0,0,8); //设置头部背景色
m_ListCtrl.SetFontHW(15,0); //设置字体高度,和宽度,0表示缺省宽度
m_ListCtrl.SetColTextColor(2,RGB(255,255,100)); //设置列文本颜色
m_ListCtrl.SetItemTextColor(3,1,RGB(255,0,0)); //设置单元格字体颜色
m_ListCtrl.InsertColumn(0,_T("合约"),LVCFMT_CENTER,55);
m_ListCtrl.InsertColumn(1,_T("最新价"),LVCFMT_CENTER,60);
m_ListCtrl.InsertColumn(2,_T("买价"),LVCFMT_CENTER,60);
m_ListCtrl.InsertColumn(3,_T("卖价"),LVCFMT_CENTER,180);
m_ListCtrl.InsertItem(0,"CF201");
m_ListCtrl.SetItemText(0,1,"20905");
m_ListCtrl.SetItemText(0,2,"20900");
m_ListCtrl.SetItemText(0,3,"20905");
m_ListCtrl.InsertItem(1,"CF205");
m_ListCtrl.SetItemText(1,1,"21345");
m_ListCtrl.SetItemText(1,2,"21340");
m_ListCtrl.SetItemText(1,3,"21345");
m_ListCtrl.InsertItem(2,"SR201");
m_ListCtrl.SetItemText(2,1,"7419");
m_ListCtrl.SetItemText(2,2,"7419");
m_ListCtrl.SetItemText(2,3,"7420");
SetWindowLong(m_ListCtrl.m_hWnd ,GWL_EXSTYLE,WS_EX_CLIENTEDGE);
m_ListCtrl.SetExtendedStyle(LVS_EX_HEADERDRAGDROP);
::SendMessage(m_ListCtrl.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,
LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
}
为了防止窗口大小发生变化,又实现了CTestList5FormView类的WM_SIZE消息:内容如下:
void CTestList5FormView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if(m_ListCtrl.GetSafeHwnd())
{
UpdateData(FALSE);
::InvalidateRect(m_ListCtrl.m_hWnd,NULL,TRUE);
m_ListCtrl.MoveWindow(0,0,cx,cy);
}
}
运行程序:出现如下界面:
代码如下链接:
http://download.csdn.net/source/3545487
请朋友们帮我看看那里出现了问题?谢谢
在线等