VC++捕捉鼠标"移动"并画十字交叉线
来源:互联网 发布:notepad怎么运行python 编辑:程序博客网 时间:2024/06/10 09:06
1.目标功能:
在MFC中有专门的鼠标事件响应函数,如On
2.最初的失败:
设计这个功能的一开始,我就想到了让我的控件响应On
3.第二方案:
既然鼠标停止状态下的时候也要画十字交叉线,(最开始的时候就没想到这个问题,把最开始的功能实现了之后才发现这个问题的,说明我的准备工作做的还不够,目的性还不够充分的明确,有待改进)那就必须放弃鼠标的On
4.关键代码:
void CWaveStatic::DrawWave(void)
{
ASSERT(m_nScaleX>1);
// 生成在屏幕上要画的点数组
CRect rect;
GetClientRect(rect);
CPoint m_dcursorPos;
GetCursorPos(&m_dcursorPos);
ScreenToClient(&m_dcursorPos);
CPoint* arrPoints = new CPoint[m_nScaleX];
int nDis = 1000/(m_nScaleX-1);
for(int i=0; i<m_nScaleX; ++i)
{
arrPoints[i].x = i* nDis;
arrPoints[i].y = m_arrData[i];
}
CDC* pDC = GetDC();
CDC dcMem;
dcMem.CreateCompatibleDC(pDC);
//pDC->DPtoLP(&m_dcursorPos);
pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(1000,508);
pDC->SetWindowOrg(0,508);
pDC->SetViewportExt(rect.Width(),-rect.Height());
pDC->DPtoLP(&m_dcursorPos);
//pDC->SetBkMode(TRANSPARENT);
CBitmap bmp, *pOldBmp;
bmp.CreateCompatibleBitmap(pDC, 1000, 508);
pOldBmp = dcMem.SelectObject(&bmp);
dcMem.SetBkMode(TRANSPARENT);
// 设置背景色
dcMem.FillSolidRect(0,0,1000,508,RGB(255,255,255));
//dcMem.DPtoLP(&m_dcursorPos);
//DrawScale(&dcMem);
dcMem.MoveTo(0,m_dcursorPos.y);
dcMem.LineTo(1000,m_dcursorPos.y);
dcMem.MoveTo(m_dcursorPos.x,0);
dcMem.LineTo(m_dcursorPos.x,508);
// 绘制刻度
CPen pen(PS_SOLID, 1, RGB(0,0,0)), *pOldPen;
pOldPen = dcMem.SelectObject(&pen);
dcMem.Polyline(arrPoints, m_nScaleX);
dcMem.SelectObject(pOldPen);
pDC->BitBlt(0,0,1000, 508, &dcMem,0,0, SRCCOPY);
dcMem.SelectObject(pOldBmp);
delete[] arrPoints;
arrPoints = NULL;
}
void CWaveShowDlg::On
{
// TODO: Add your message handler co
if (RunOn)
{
return;
}
m_wndPic.DrawWave();
m_wndSmallPic2.DrawWave();
CDialog::On
}
- VC++捕捉鼠标"移动"并画十字交叉线
- 捕捉鼠标的移动
- VC++鼠标捕捉学习
- 捕捉鼠标拖动和鼠标移动事件
- 光标移动以及鼠标信息捕捉
- vc 鼠标移动画直线
- C++获取鼠标坐标并移动鼠标
- div随着鼠标移动而移动并获取鼠标坐标
- 关于Winform中类似股票K线图十字交叉线随着鼠标移动的实现方法!
- vc鼠标移动改变字体颜色
- VC 随鼠标移动的文字。
- vc学习(四)鼠标移动椭圆
- VC实现鼠标移动对话框窗口
- vc中圆形跟随者鼠标移动
- VC中鼠标移动点击操作
- VC中画基准线,随鼠标移动
- VC中随鼠标移动显示鼠标的位置
- js 鼠标放置图片展示大图并跟随鼠标移动
- USACO 1.1 Your ride is here 解题报告
- 英语学习之 SLA by short brain
- 微信表情的字符编号完整版【图文并茂哦!】
- 获取java byte的无符号数值
- 电力系统SVG绘图工具0.1.1
- VC++捕捉鼠标"移动"并画十字交叉线
- NSObject的幕后工作
- 华为Y220T格机 解图形锁,恢复出厂设置
- javascript 控制层的显示或隐藏
- hdu1171Big Event in HDU
- 【Windows Phone 8 SDK泄漏 内容梳理§软件应用】
- web项目的servlet和filter中获取spring上下文
- POJ 3714 Raid
- 禁止访问某文件