最近在工作中有个关于MFC的需求:点击Table中的粗略信息,在页面中显示对应的历史详细信息。本身不是很难,但是其中因为忽视了一个小问题耽误了很多时间。由于涉及公司内部代码,只贴出部分并修改供理解思想。
1.继承CView类
2.实现输出信息的方法
void 类名::DrawStkInfo_AllHisInfo(POINT ptLeftTop,POINT ptRightDown,CDC *pDC)
{
int nRow = 1;
CRect m_rectCurrLocName[5]
//设置响应范围
list<mstruct *>::iterator iter = m_listInfo.begin();
while(iter != m_listInfo.end())
{
if(nRow < 5)
{
m_rectCurrLocName[nRow-1].left = m_dArrayDrawTextStatrX_T2[0]+1;
m_rectCurrLocName[nRow-1].right = m_dArrayDrawTextStatrX_T2[1]-1;
m_rectCurrLocName[nRow-1].top = m_dArrayDrawTextStatrY_T2[nRow]+1;
m_rectCurrLocName[nRow-1].bottom = m_dArrayDrawTextStatrY_T2[nRow+1]-1;
cDisable.CreateSolidBrush(RGB(108, 131, 139));
pDC->FillRect(m_rectCurrLocName[nRow-1],&cDisable);
cDisable.DeleteObject();
}
}
CString strHistory = "";
list<mstruct *>::iterator iter = m_listInfo.begin();