客户区放下 在打开 显示的结果没了? 我在客户区显示一些文本,但是我把运行的视图放下后在打开 显示的东西不见了?那位高手帮解释一下,怎么解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在onsize 里面进行重画Invalidate 没有刷新的问题,把你的显示数据的代码放在OnPaint函数里面即可 我是在程序的其他地方得到pDC绘图的void CCaneraView::PrintMat(CvMat *matrix,CPoint point){ int i=0; int j=0; for(i=0;i < matrix->rows;i++)//行 { m_CalibrateResolution.Format("/n"); switch(matrix->type&0X07) { case CV_32F: case CV_64F: { for(j=0;j<matrix->cols;j++)//列 { m_CalibrateResolution.Format("%9.3f ",(float)cvGetReal2D(matrix,i,j)); this->GetDC()->TextOut(point.x+i*100,point.y+j*30,m_CalibrateResolution); } m_postion.x=point.x+i*100; m_postion.y=point.y+j*30; break; } case CV_8U: case CV_16U: { for(j=0;j<matrix->cols;j++) { m_CalibrateResolution.Format("%6d ",(int)cvGetReal2D(matrix,i,j)); this->GetDC()->TextOut(point.x+i*100,point.y+j*16,m_CalibrateResolution); } m_postion.x=point.x+i*100; m_postion.y=point.y+j*16; break; } default: break; } }} 放到 CCaneraView::OnDraw 函数中,其提供了 pDC 参数,不需要 GetDC。 void CCaneraView::OnDraw(CDC* pDC){ CCaneraDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here //参数 matrix 和 point 的值可以设置从文档类对象(如:pDoc)中获取,或定义为CaneraView 类的数据成员,这样只需要更改这 2 个参数的值,然后使用 Invalidate 让视图更新数据。 PrintMat(pDC, CvMat *matrix, CPoint point);}void CCaneraView::PrintMat(CDC *pDC, CvMat *matrix,CPoint point) {...} CView 和 CScrollView 一般都是在 OnDraw 中显示与其关联的文档类中的数据。 ie<input type="button"的怎么样解法onclick 事件 心情不好,散散分! jrtp的问题。。 诚聘 客户端开发高手 关于串口的问题(使用mscomm控件) 如何在另外的一个进程中操作CMainFrame中的数据? 一个MFC的小问题! 在DLL里的对话框上放HTML控键的问题 SDI,对话框中添加视图类对象 请问?***画一个函数y=f(x)的图线的最简单的方法是什么?***? vc2008连接mysql5.0.45,本机调试正常,远程无法连接,请高手救命! 界面换肤,界面自绘源代码
把你的显示数据的代码放在OnPaint函数里面即可
{
int i=0;
int j=0;
for(i=0;i < matrix->rows;i++)//行
{
m_CalibrateResolution.Format("/n");
switch(matrix->type&0X07)
{
case CV_32F:
case CV_64F:
{
for(j=0;j<matrix->cols;j++)//列
{
m_CalibrateResolution.Format("%9.3f ",(float)cvGetReal2D(matrix,i,j));
this->GetDC()->TextOut(point.x+i*100,point.y+j*30,m_CalibrateResolution);
}
m_postion.x=point.x+i*100;
m_postion.y=point.y+j*30;
break;
}
case CV_8U:
case CV_16U:
{
for(j=0;j<matrix->cols;j++)
{
m_CalibrateResolution.Format("%6d ",(int)cvGetReal2D(matrix,i,j));
this->GetDC()->TextOut(point.x+i*100,point.y+j*16,m_CalibrateResolution);
}
m_postion.x=point.x+i*100;
m_postion.y=point.y+j*16;
break;
}
default:
break;
}
}
}
{
CCaneraDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here //参数 matrix 和 point 的值可以设置从文档类对象(如:pDoc)中获取,或定义为CaneraView 类的数据成员,这样只需要更改这 2 个参数的值,然后使用 Invalidate 让视图更新数据。 PrintMat(pDC, CvMat *matrix, CPoint point);
}void CCaneraView::PrintMat(CDC *pDC, CvMat *matrix,CPoint point)
{
...
}