怎么做CScrollView的滑动条的各个事件?
我画的图比显示的view要大的多,所以我想做一个滑动条但是我不知道怎么做?
希望高手能给帮助,或是给原码,

解决方案 »

  1.   

    在cscrollview中画图,虽然你的图比窗口大,但你不用管这个,只管画,cscrollview都给你封装好了,不用你响应滑动条事件,但要注意:1。在oninitialupdate中设视图大小:
    #define CLIENTWIDTH 7500
    #define CLIENTHIGHT 12500
    ......
    void CMyView::OnInitialUpdate()
    {
    CScrollView::OnInitialUpdate(); CSize sizeTotal;
    // TODO: calculate the total size of this view
    sizeTotal.cx = CLIENTWIDTH;
        sizeTotal.cy = CLIENTHIGHT;
    SetScrollSizes(MM_LOENGLISH, sizeTotal);
    .........2。在ondraw函数中的绘图完全象在普通视图中绘图一样
    在ondraw函数之外绘图,要调用onpreparedc:
    CClientDC dc(this);
    OnPrepareDC(&dc);
    dc.SetMapMode (MM_LOENGLISH);                                              
    dc.DPtoLP( &point );//注意:在响应鼠标消息时获得的鼠标坐标要从设备坐标转为逻辑坐标除上面所指出的外,使用CScrollView与使用普通视图是一样的