请问我用lineto在getdc(0)上画一直线,如何用程序cls掉!?

解决方案 »

  1.   

    同志,没有底色,是getdc(0)上,怎么可能有底色?
      

  2.   

    Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Sub SHChangeNotify Lib "shell32" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
    Private Const SHCNE_ASSOCCHANGED = &H8000000
    Private Const SHCNF_FLUSHNOWAIT = &H2000Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = 1 Then
            LineTo GetDC(0), Screen.Width, Screen.Height
        ElseIf Button = 2 Then
            SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, 0, 0
        End If
    End Sub===============
    SHChangeNotify 函数刷新桌面,可能会有点延时,运行后等几秒钟看效果
      

  3.   

    Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Sub SHChangeNotify Lib "shell32" (ByVal wEventId As Long, ByVal uFlags As Long, ByVal dwItem1 As Long, ByVal dwItem2 As Long)
    Private Const SHCNE_ASSOCCHANGED = &H8000000
    Private Const SHCNF_FLUSHNOWAIT = &H2000Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        If Button = 1 Then
            LineTo GetDC(0), Screen.Width, Screen.Height
        ElseIf Button = 2 Then
            SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_FLUSHNOWAIT, 0, 0
        End If
    End Sub===============
    SHChangeNotify 函数刷新桌面,可能会有点延时,运行后等几秒钟看效果
      

  4.   

    谢谢up的大侠,如果真是这样的话,不就没有可能做出在桌面上鼠标环绕的特效了?
    因为cls lineto时,时间太长了!闪烁太强了!