我的想法是在一个static上画图,然后响应static上的鼠标拖动消息,然后另外加按钮来控制图像的缩放,现在遇到的问题是
1 图像的rect超出static的大小就画到父窗口上去了
2 如何响应在static控件上的按下鼠标左键拖动消息,并且可以改变鼠标的形状为一个小手
3 如何确定在static控件中应该绘制的图像的区域,主要是缩放的时候区域改变比较麻烦,拖动的时候倒还好分数不够可以再给

解决方案 »

  1.   

    1. 
    CRect rect;
    m_myStatic.GetClientRect(&rect);
    ......
    2.把static控件的"通知"钩上才能响应鼠标消息,用SetCursor设置鼠标
    3.什么意思
      

  2.   

    第一部,我就是这么做的,但是这样每次要判断图像是否超出边界很麻烦,我的意思是为什么不能把static就弄成一个窗口一样,画了超出窗口的部分自动不会被显示,现在是超出static的都倒父窗口上去了第3部就是因为图像放大以后,static就只能显示一部分图像了,如何最简单的得到应该显示的那块的位置
      

  3.   

    http://www.vckbase.com/document/viewdoc/?id=1028
      

  4.   

    1. 重载CStatic类, 在它自己的OnPaint里画
    2. "如何最简单的得到应该显示的那块的位置", 你是要显示一部分还是全部,全部的话用StretchBlt,
    部分的话只好]自己算位置
      

  5.   

    to goodboyws:
    我重载了CStatic类,在他的OnPaint里画了,怎么图像超出尺寸还是画到父窗口去了?
      

  6.   

    StretchBlt 倒可以,不过好像有点失真的感觉