试试GetDCEx 。这种操作我还真没做过,不知道。

解决方案 »

  1.   

    我原来用的是:BitBlt(Me.PictTemp.hdc, 0, 0, 200, 200, GetDC(Me.RichTextBox1.hwnd), 0, 0, vbSrcCopy)小旋风,你能给个例子吗?
      

  2.   

    别试了
    不可能解决(除非出了新的操作系统)因为所有窗体显示的内容都是画在同一个位图上的
    GetDC之类的函数只不过映射一下坐标、以及设定剪裁区域(防止绘制到其他窗体)而已
    非剪裁区域虽然不可写,但可以读。
    这就出现这样的问题
    要注意VB等编程软件的极限,不要以为找某某高手就可解决,别浪费时间。
      

  3.   

    那个请问RichText Box控件显示的内容不会在内存中存放?(即使该窗口被遮住了,它在内存中应该有备份呀,当他不被遮住的时候可以刷新呀)
      

  4.   

    它跟绝大多数的控件一样
    是通过响应WM_PAINT消息时重画的
    既 不会生成临时位图只有游戏、VB程序、其他语言编的图像处理程序才有可能有临时位图
    因为VB有AutoRedraw属性
    游戏、图像处理程序经常要用到多图层合并
      

  5.   

    其实有种方法
    但我估计没有人会这么做的那就是根据RichTextBox的文字信息
    自己画出来!
      

  6.   


    想到个办法:截取 WM_PAINT消息,然后传递个自己的HDC,这样让RichEdit把内容画到指定的DC上。
    仅想到而已,没试过。但理论上是可行的。
      

  7.   

    对!试一试:SendMessage RichTextBox.hWnd, WM_PAINT, hDC, ByVal 0&