MFC在对话框内绘图有关问题
MFC在对话框内绘图问题
请教一个困扰了很久的问题~~
建了一个MFC基于对话框的工程,在OnPaint函数里添加代码 绘制波形图。因为有很多个波形在界面上显示不全,所以加了水平和垂直滚动条。但发现每次点击滚动条后,不会出现没有显示全的波形,而是本来就有的波形又在原位置显示了一遍。

拉动滚动条后

这个问题要如何处理呢??请各位指导啊~~~
------解决方案--------------------
出现滚动条后,你用GDI函数传递的都是逻辑坐标,在MM_TEXT模式下逻辑坐标和设备坐标是一样的,
第一个图的y坐标应该是 int yPos = -GetScrollPos(m_hWnd,SB_VERT);
int nHeight = 100; //一个波形的高度
for(int i=0;i<N;i++)
{
DrawItem(yPos);//画第i个波形
yPos += nHeight;
}
请教一个困扰了很久的问题~~
建了一个MFC基于对话框的工程,在OnPaint函数里添加代码 绘制波形图。因为有很多个波形在界面上显示不全,所以加了水平和垂直滚动条。但发现每次点击滚动条后,不会出现没有显示全的波形,而是本来就有的波形又在原位置显示了一遍。
拉动滚动条后
这个问题要如何处理呢??请各位指导啊~~~
------解决方案--------------------
出现滚动条后,你用GDI函数传递的都是逻辑坐标,在MM_TEXT模式下逻辑坐标和设备坐标是一样的,
第一个图的y坐标应该是 int yPos = -GetScrollPos(m_hWnd,SB_VERT);
int nHeight = 100; //一个波形的高度
for(int i=0;i<N;i++)
{
DrawItem(yPos);//画第i个波形
yPos += nHeight;
}