界面截图是这样的:
从第一页图片中可以看到:传感器1001号和1002号分别显示了两个传感器的温度值,但是另外两个传感器1003号和1004号显示的数值分别与1001号和1002号显示的一样。
从第二页图片中可以看到:传感器编号1001和1002又分别显示了两个与第一页不同的温度值,编号1003和1004传感器还是与这两个显示的数值一样。
我解调仪分别连接了四个不同的传感器1001 1002 1003 1004,现在的问题是我想把第二页上标号为1003 1004传感器显示的两个温度值移到第一页的1003 1004所要显示的区域,让四个传感器的温度值在同一页上来显示,我应该如何来做到呢? 这个程序使用的是自动加页的一个机制,我是初学者所以觉得不太好改?有没有老师能帮我看一下的,可以重谢您!!!
另外,存放四个列表控件的对话框ID为 :IDD_SENSOR_DLG,为其关联的类是CSensorInfoDlg,程序里面就是将这个对话框放在了主对话框里面,主对话框ID为: IDD_MAINFRAMEVIEW, 为其关联的类是CMainFrameView
部分相关代码如下:
头文件:
//数据
private:
int iPageCount; //tab控件属性页个数
bool bEndFlag; //结束标志
private:
CSensorInfoDlg *m_pSensorInfoDlg; //传感器特性对话框
CMFCTabCtrl m_wndSensorTabView; //tab控件选择显示
public:
void InitTabCtrl(); //初始化Tab控件的视图
void DrawSensorRTCurve();
源文件:
void CMainFrameView::InitTabCtrl()
{
//计算Tab控件页面的个数
iPageCount = 0;
if(iSensorCount)
{
iPageCount = iSensorCount%2;
if(iPageCount)
{
iPageCount = iSensorCount /2+1; //Tab属性页个数
}
else
{
iPageCount = iSensorCount/2; //Tab属性页个数
}
}
if(iPageCount>0)
{
m_pSensorInfoDlg = new CSensorInfoDlg[iPageCount]
}
// 初始化Tab控件
TCITEM tcItem;
tcItem.mask = TCIF_TEXT;
for(int i = 0;i<iPageCount; i++)
{
CString cs;
cs.Format(_T("第 %d 页"),i+1);
tcItem.pszText = cs.GetBuffer(MAX_PATH)
cs.ReleaseBuffer();
m_pSensorInfoDlg[i].Create(IDD_SENSOR_DLG.&m_wndSensorTabView);
m_wndSensorTabView.AddTab(&m_pSensorInfoDlg[i],cs);
}
//初始化传感器信息
CString cs;
CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
POSITION pos;
pos = (pMainFrame ->sensorlst).GetHeadPosition();
for(int i = 0;i<iSensorCount;i++)
{
int sensorNumber = i%2;
int iPageNumber = i/2;
SENSORINFO* s = (pMainFrame->sensorlst).GetNext(pos);
cs.Format(_T("传感器编号:%s"),s->sensor_name);
m_pSensorInfoDlg[pageNumber].SetSensorName(sensorNumber,cs); //设置传感器标题
m_pSensorInfoDlg[pageNumber].SetsensorPtr(sensorNumber,s); //设置传感器信息指针
}
}
//绘制实时曲线
void CMainFrameView::DrawSensorRTCurve()
{
int pageNumber = 0;
int sensorNumber = 0;
for(int index = 0;index < iSensorCount;index++)
{
pageNumber = index / 2;
sensorNumber = index%2;
//绘制实时曲线
m_pSensorInfo[pageNumber].DrawRTCurve(sensorNumber,pPeakWavelength + index);
}
}
推荐一个高级语言通讯解决方案的文章资源: