如何在状态栏显示当前鼠标位置
2007-02-09 08:17
507 查看
1 如何在状态栏显示当前鼠标位置
1.1 添加一个pane的命令ID
切换到resource view界面上,单击右键,选择resource symbols,在resource symbols的对话框内点击new按钮,输入一个command ID,ID_INDICATOR_POS,1.2 在string table中添加一个string
添加的这个string是为了在上一步骤中添加的pane中显示。添加的步骤为:在string table中右键->new,选择步骤1.1中添加的pane的ID:ID_INDICATOR_PAGE。确认添加。
1.3 将pane添加到statusbar的indicator 数组中
添加之后可以是这样的static UINT BASED_CODE indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
ID_INDICATOR_POS, //添加的
};
做完以上三个步骤,状态栏内的pane就算添加完毕了。
1.4 添加处理函数以便可以实时将鼠标位置更新到状态栏内
在视图类(当然也可以在其他类)的消息映射表内添加如下宏:(1)ON_UPDATE_COMMAND_UI(ID_INDICATOR_POS, OnUpdatePos)
为视图类添加OnUpdatePos()函数;
(2)声明
afx_msg void OnUpdatePos(CCmdUI * pCmUI);
(3)实现
void CLearnDisplayBMPView::OnUpdatePage(CCmdUI *pCmdUI)
{
pCmdUI->Enable();
pCmdUI->SetText( currentPos );
}
其中currentPos是定义在CLearnDisplayBMPView一个CString类型的成员变量。
经过以上三个步骤之后,只要在View的MouseMove事件处理函数中改变currentPos,则程序会自动调用OnUpdatePos函数来改变其在状态栏中的显示。
其中MouseMove的事件处理函数的实现如下:
void CLearnDisplayBMPView::OnMouseMove(UINT nFlags, CPoint point)
{
currentPos.Format("X:%d,Y:%d",point.x,point.y);
CFormView::OnMouseMove(nFlags, point);
}
相关文章推荐
- 在状态栏上显示鼠标当前位置
- 多文档视图中在状态栏中显示鼠标当前位置
- MFC:在状态栏上显示鼠标当前的位置
- javaScript实现在浏览器状态栏显示鼠标在页面中的当前位置
- 在AngularJS中如何使用谷歌地图把当前位置显示出来
- 小功能:当前鼠标的位置显示(需脚本处理)
- 鼠标提示——在鼠标当前位置显示提示信息
- 显示鼠标当前屏幕位置 .
- 如何在html页面上随着鼠标的位置显示浮动层图片或别的东东?(附代码)
- jquery 如何获取鼠标当前位置?
- MFC中状态栏显示鼠标坐标位置
- 显示鼠标当前屏幕位置
- vs visual studio 2015中如何在当前的项目管理器中打开文件?如何打开指定的方法名称,如何显示到指定的方法的那个位置
- [求助]关于在状态栏显示自定义坐标系下鼠标指针所在位置坐标的问题
- 在AngularJS中如何使用谷歌地图把当前位置显示出来
- 显示鼠标当前屏幕位置
- MFC:在状态栏最左边显示鼠标当前的坐标
- 如何获取当前鼠标的位置
- 鼠标提示——在鼠标当前位置显示提示信息
- delphi如何获取鼠标当前位置颜色