Me.PaintPicture ImageList1.ListImages(1).Picture, 0, 0

解决方案 »

  1.   


    Draw 方法
          在一幅图象上执行了一次图形操作后,把该图象绘制到某个目标设备描述体中,例如 PictureBox 控件中。语法object.Draw (hDC, x,y, style)Draw 方法的语法包含下面部分:部分 描述 
    object 必需的。对象表达式,其值是“应用于”列表中的对象。 
    hDC 必需的。一个设置为目标对象的 hDC 属性的值。 
    x,y 可选的。用来指定设备描述体内绘制图象的位置坐标。如果不指定这些,图象将被绘制在设备描述体的起点。 
    style 可选的。它指定了在图象上进行的操作,“设置值”中有详细说明。 
    设置值style 的设置值是:常数 值 描述 
    imlNormal 0 (缺省)正常的。无任何改变地绘制图象。 
    imlTransparent 1 透明的。绘制图象时,用 MaskColor 属性来决定图象的哪种颜色将是透明的。 
    imlSelected 2 选定的。用系统突出显示颜色绘制抖动的图象。 
    imlFocus 3 焦点。用突出显示颜色绘制抖动的图象和条带状的图象来产生阴影效果,以表明图象有焦点。 
    说明hDC 属性是 Windows 操作系统用来作内部引用到对象的句柄(数值)。可以在任何有 hDC 属性的控件内部区域画图。在 Visual Basic 中,上述控件包括 Form 对象、PictureBox 控件和 Printer 对象。因为应用程序运行时,对象的 hDC 可能会改变,所以最好是指定 hDC 属性而不是指定一个实际值。例如,下面的代码确保总能将正确的 hDC 值提供给 ImageList 控件:ImageList1.ListImages(1).Draw Form1.hDC
    Draw 方法示例
    本例把一个图象加载到 ImageList 控件中。单击窗体时,用四种不同的样式把图象绘制在窗体上。要试用此例,把 ImageList 控件放置到窗体上,并把代码粘贴到该窗体的声明部分。运行此例,并单击窗体。Private Sub Form_Load()
       Dim X As ListImage
       '把一幅图象加载到 ImageList 中。
       Set X = ImageList1.ListImages. _
       Add(, , LoadPicture("bitmaps\assorted\intl_no.bmp"))
    End SubPrivate Sub Form_Click()
       Dim space, intW As Integer   '创建间距变量。   '用 ImageWidth 属性来作间距。
       intW = ImageList1.ImageWidth
       space = Form1.Font.Size * 2 '用 Font.Size 来作高度间隔。   ScaleMode = vbPoints   '把 ScaleMode 设置成以磅为单位。
       Cls '清除窗体。
       
       '用 Normal 样式绘制图象。
       ImageList1.ListImages(1).Draw Form1.hDC, , space,imlNormal
       '设置 MaskColor 为红色,这种颜色将会变为透明。
       ImageList1.MaskColor = vbRed
       '用红色 (MaskColor),即透明色绘制图象。
       ImageList1.ListImages(1).Draw Form1.hDC, intW, space,imlTransparent
       '用 Selected 样式绘制图象。
       ImageList1.ListImages(1).Draw Form1.hDC, intW * 2,space,imlSelected
       '用 Focus 样式绘制图象。
       ImageList1.ListImages(1).Draw Form1.hDC, intW * 3, space,imlFocus   '为图象打印一个标题。
       Print _
       "Normal              Transparent           Selected         Focus"End Sub
      

  2.   

    Draw方法:因为用到的图标有时并不能确定用哪种颜色作透明色,所以就失去了很大的灵活性。