我做一个画板的程序,图片框中用loadpicture装入图片后,用cls方法无法清除,如何解决?想实现的是装入图片后,可以重新编辑,请指教!先给30分,不知道够不够?

解决方案 »

  1.   

    哈,你的初试啼声不简单啊,幸亏我以前做过一些试验,翻出来说几句吧。^_^
    PICTUREBOX如果是以LOADPICTURE方式载入内容的,CLS只能清除其上的后续画图内容,并且是在没有持久位图(AUTOREDRAW=FALSE)的时候,如果是真的话,则后续操作也不能清除。要实现你的需求有几种办法,我就说一种,其它的你自学吧。不过如果你刚入VB的门,那就有一点点难了。但大家也都这么过来的,没什么。
    SelectObject p1.hdc, GetStockObject(BLACK_BRUSH)'为图片框选择一个刷子,本例是黑色
    'P1的ScaleMode       =   3  'Pixel
    R.Left = 0
    R.Top = 0
    R.Bottom = p1.ScaleHeight
    R.Right = p1.ScaleWidth
    '取得区域句柄,R是RECT结构变量
    hR = CreateRectRgn(R.Left, R.Top, R.Right, R.Bottom)
    '以选定刷子(目前是黑色)填充区域
    PaintRgn p1.hdc, hR
    结果是以全黑来填充图片框。实现清除的目的。我这是片段,结束时要恢复P1的初始刷子并删除区域句柄的,但越发会让你头晕,就免了。
      

  2.   

    直接 p1.Picture = LoadPicture("")不就行了