急用,多谢

解决方案 »

  1.   

    程序说明:    原作者Stefan Ungureanu。代码大小:5k。
        环境:VC 6下面是翻译的作者的说明:许多显示图片或文档的程序中在一个视的两边都有刻度标尺,用来显示在一页中的位置。实现起来是比较困难的,因为必须在一个view中留出标尺的位置(在CScrollView继承类中更加困难)。另一个困难的地方是,它们是固定在切分窗口中的(不能调整大小)。下面的例子告诉你怎样解决这个难题。代码代码实现了标尺切分窗口,在view中使用的标尺可以在ruler.h和ruler.cpp文件中找到,下面介绍如何使用:在框架窗口中(CFrameWnd或CMDIChildWnd的继承类)
    // class definition
    class CMainFrame : public CFrameWnd
    {
    [...]
    protected:
    DECLARE_FX_RULER(CMainFrame)下一步是创建切分窗口和视。下面的代码适用于SDI程序,在CMainFrame类的OnCreateClient中,加入下面的代码创建右切分窗口
    // class definition
    IMPLEMENT_FX_RULER_SPLITTER(, , 0, 1, pContext->m_pNewViewClass);下一步你要做消息的发放,使得标尺知道滚动位置的改变和缩放的改变。
    // class definition
    GetDocument()->UpdateAllViews(this, VW_VSCROLL, (CObject*)(GetScrollPosition().y));可能用到的类型VW_HSCROLL View is scrolled horizontally 
    VW_VSCROLL View is scrolled vertically 
    VW_HPOSITION Cursor position changed on the x axis 
    VW_VPOSITION Cursor position changed on the y axis 
      

  2.   

    http://www.vccode.com/file_show.php?id=1392