你这个问题,不复杂,但也不是很简单,如果你能找到好用的PICTURE控件,这个问题很容易解决,网上有这样的ACTIVEX控件,方上去就行了。不知你用EDIT控件干什么? 用来做PLACEHOLD?如果想直接处理,那你得自己从CWnd 派生一个类,来实现这个控件,关于水平和垂直滚动条可以同过滚动条的结构控制。前提是,你要在内存中创建这幅位图,而且你要计算当前的客户区有多大,对于整个位图来说是第几页,一共有几页。当滚动条移动的时候,你必须把相应部分的图片拷贝到客户区中。也就是说从效率而言,至少是双BUFF。RichEdit 我没有用过,所以不知行不行,至于你说的问题,不能运行是什么意思?

解决方案 »

  1.   

    每个窗口默认的都创建了滚动条了,你只需要调用SetScrollInfo来设置相应的属性,然后处理WM_HSCROLL 和 WM_VSCROLL消息就可以了。
      

  2.   

    直接用模板把滚动条拖进去。
    这样点击滚动条时窗口会收到消息。
    刷新Edit窗口(重载该窗口的窗口过程)根据滚动条位置决定显示位图的哪部分(不知道性能如何)
      

  3.   

    我已经自己解决了这个问题。
    我说的位图其实是一个ActiveX控件显示的图象(它部分地继承了CWnd),因为图象可以放大到1280*1024,所以我需要ScrollBar来移动它使得其它部分可以见到。我的Edit作用完全只有限定区域的作用。
    我现在是用自己添加的ScrollBar来实现拉动,ScrollBar的响应函数更改int的Xoffset和Yoffset值,然后调用控件的
    MoveWindow(-Xoffset,-Yoffset,Width,Height,TRUE);
    谢谢Tasehouny(阿甘)等各位的解答。