怎么样在屏幕上画图?

解决方案 »

  1.   

    下面一段程序利用了API函数在屏幕上实现画图标功能(注:p是图标的句柄,可以由ExtractIcon取得)。
      deskhwnd = GetNextWindow(hwnd, GW_HWNDLAST)
      '取最下面一个窗口
      deskdc = GetWindowDC(deskhwnd)
      '取窗口的情景设备
      For i=0 To Screen.Width/32/15
      '将屏幕坐标单位换算成“Pixel”,并计算可画的图标数
      For j=0 To Screen.Height/32/15
      DrawIcon deskdc, 32i, 32j, p
      '在桌面上画图
      Next j
      Next i
      用函数GetNextWindow取得其句柄,用函数GetWindowDC取出它的虚拟设备。需要注意的是,一旦窗口被覆盖,图标就会消失。
      

  2.   

    帮楼主写了一段程序,在屏幕上随机画点:Private Declare Function SetPixelV Lib "gdi32" (ByVal HDC As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function timeGetTime Lib "winmm.dll" () As LongPrivate Sub Form_Load()
    Me.ScaleMode = 3
    Me.Visible = False
    Dim X As Long, Y As Long, I As Long
    Dim DC As Long, Wid As Long, Hei As Long
    Wid = Screen.Width
    Hei = Screen.Height
    DC = GetDC(0) '获得屏幕句柄
    I = timeGetTime
    Do While timeGetTime - I < 100000
       X = Rnd * Wid
       Y = Rnd * Hei
       SetPixelV DC, X, Y, RGB(Rnd * 256, Rnd * 256, Rnd * 256) '画点
       DoEvents
    Loop
    End
    End Sub不需要控件,直接将代码贴到程序里面,按F5执行就可以看到效果。