void CYourView::OnMouseMove(UINT nFlags, CPoint point)
{CRect rect(StartPt,point);LOGBRUSH logBrush;
logBrush.lbStyle = BS_HOLLOW;
int OldROP;
CBrush brush;
brush.CreateStockObject(NULL_BRUSH);
OldROP = pDC->SetROP2(R2_XORPEN);
CPen *pOldPen = pDC->SelectObject(&pen);
CBrush *pOldBrush = pDC->SelectObject(brush);
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
pDC->SetROP2(OldROP);
}有必要的话可以判断一下鼠标是不是被按下了。
这个办法虽然可以实现,但是我觉得不是一个很好的办法,如果大家有什么好办法
一定要告诉我啊。
解决方案 »
- 滚动条的几个问题
- 数据库删除和更改记录的问题
- 为什么 显示WM_THREADFINISHED没有声明?
- 离职 - 散分帖之四
- 一个关于对话框的问题。
- 如何在程序中设置CStatic,CEdit,CListctrl控件属性为不可见?
- 在FormView或者Dialog中嵌套另外的Dialog,50分
- 使用MIDL编译IDL文件出现错误,请帮忙看看什么原因?
- 将UTF-8编码的十六进制字符串转换成gb2312
- 关于setsystemcursor 的参数的问题,急.................
- winnt workstation 4.0 怎么修改temp 目录
- doc/view/frm 有和联系
void CYourView::OnMouseMove(UINT nFlags, CPoint point)
{CRect rect(StartPt,point);LOGBRUSH logBrush;
logBrush.lbStyle = BS_HOLLOW;int OldROP;
CBrush brush;brush.CreateStockObject(NULL_BRUSH);
CDC *pDC = GetDC();
OldROP = pDC->SetROP2(R2_XORPEN);CBrush *pOldBrush = pDC->SelectObject(brush);
pDC->Rectangle(rect);
pDC->SelectObject(pOldBrush);
pDC->SetROP2(OldROP);
ReleaseDC(pDC);
}
想要的话留下Email吧?
coolxiao(coolxiao)给分
good luck
1.在OnLButtonDown()里执行m_RectTracker.TrackRubberBand(this,point,TRUE);后,系统将捕获不了WM_LBUTTONUP消息,也就是说在::OnLButtonUp{}里的程序将不再被执行;
2.鼠标弹起后,虚线框不能保持.
谁能帮我解决,立即加分!谢谢!
谢谢!
我在我的另一个帖子<菜鸟问题:如何跟随鼠标拉出一虚线矩形框?回复就有分!>里现在才注意你
的"DrawFocusRect();结束时一定要偶次调用",原来偶次调用又能使虚线框消失,解决了我的问题.谢谢啊.
给分了.
在OnLButtonDown()里执行m_RectTracker.TrackRubberBand(this,point,TRUE);后,系统将捕获不了WM_LBUTTONUP消息,也就是说在::OnLButtonUp{}里的程序将不再被执行;谁能帮忙解决一下啊?
执行m_RectTracker.TrackRubberBand(this,point,TRUE);后加上
PostMessage(WM_LBUTTONUP);