void CTestBarsView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_CurPos=point;
CView::OnMouseMove(nFlags, point);
}
在OnUpdateCoorX()函数和OnUpdateCoorY()函数中真正地更新指示器中显示的文本。程序清单8-12中列出了完成后的OnUpdateCoorX()函数和OnUpdateCoorY()函数的代码。
程序清单8-12 OnUpdateCoorX()函数和OnUpdateCoorY()函数
void CTestBarsView::OnUpdateCoorX(CCmdUI *pCmdUI)
{
CString s;
s.Format("X:%d",m_CurPos.x);
pCmdUI->SetText(s);
}
void CTestBarsView::OnUpdateCoorY(CCmdUI *pCmdUI)
{
CString s;
s.Format("Y:%d",m_CurPos.y);
pCmdUI->SetText(s);
}
代码其实很简单。由于m_CurPos变量中已经保存了鼠标当前位置的坐标,因此只需对将要显示在指示器中的文本稍加格式化即可。
至此我们已经完成了TestBars的状态条部分。用户现在编译和运行程序,就可以看到如图8-20所示那样的效果了。
本节中介绍了普通的工具条,或者说是老样子的工具条,和状态条的使用方法。实际上,工具条和状态条还有更多的使用技巧,用户可以参阅Visual C++的联机文档并自己进行实验。在后面的几节中,还将介绍到另外的一些控制条的使用方法。
对话框条通过控制条的方式提供了无模式对话框的功能,它最大的优点就在于它可以包含所有类型的Windows控件,而不仅仅是按钮。与工具条不一样的是,对话框条通过对话框资源来建立,用户可以使用对话框编辑器来编辑该对话框资源。
在使用上,对话框条包含的所有控件发生的动作消息都被发送给其父窗口,其行为和操作完全类似与一个无模式对话框。