VC++MFC编程2.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:18 大小:263KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

VC++MFC编程2.ppt

VC++MFC编程2.ppt

预览

免费试读已结束,剩余 8 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VC++MFC编程(2)文本显示鼠标编程nFlags参数中包含了鼠标按钮和键盘组合使用标志,用来描述鼠标按钮和键盘上的Shift键和Ctrl键的组合状态。nFlag参数取值范围:MK_LBUTTON:鼠标左键被按下;MK_RBUTTON:鼠标右键被按下;MK_MBUTTON:鼠标中键被按下;MK_SHIFT:键盘上的Shift键被按下;MK_CONTROL:键盘上的Ctrl键被按下;如果想知道某个键是否被按下,可用对应的位屏蔽值与nFlags参数作按位逻辑“与”运算,所的结果若为非零值,则表示该按钮被按下,例如:if(nFlags&LBUTTON)AfxMessageBox(“LButtonispresseddown!”)ElseAfxMessageBox(“LButtonispressedUp!”);如何区分两次单击和一次双击,这取决于两次按下按钮之间的时间间隔,只有当时间间隔小于一定值时才被认为是一次双击。Windows默认的时间为500ms。可以用SetDoubleClickTime()函数来重新设置时间间隔值。捕捉鼠标鼠标编程综合示例voidCMouseView::OnLButtonUp(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();pDC->TextOut(20,40,"LButtonUP!");CView::OnLButtonUp(nFlags,point);}voidCMouseView::OnRButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();pDC->TextOut(20,60,"RButtonDown!");CView::OnRButtonDown(nFlags,point);}voidCMouseView::OnRButtonUp(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();pDC->TextOut(20,40,"RButtonUP!");CView::OnRButtonUp(nFlags,point);}voidCMouseView::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();chartbuf[80];sprintf(tbuf,"Position:(%3d,%3d)",point.x,point.y);//输出鼠标当前位置pDC->TextOut(20,20,tbuf);CView::OnMouseMove(nFlags,point);}voidCMouseView::OnLButtonDblClk(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();pDC->TextOut(20,80,"LButtonisdoubleclicked!");CView::OnLButtonDblClk(nFlags,point);}voidCMouseView::OnRButtonDblClk(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultCDC*pDC=GetDC();pDC->TextOut(20,80,"RButtonisdoubleclicked!");CView::OnRButtonDblClk(nFlags,point);}第五步:编译程序,并验证执行结果。