[Frage]-VB-Crosshair

06/26/2011 18:00 Nektarius#1
Hallo,
ich habe in visual basic ein crosshair gemacht. Leider flimmert das crosshair.

ich hab nen timer in dem die Linien gezeichnet werden
und zB:

PHP Code:
    Private Sub crosshair1_Tick_1(ByVal sender As System.ObjectByVal e As System.EventArgsHandles crosshair1.Tick
        TopMost 
True
        Me
.TopMost True

        
Try

            
Dim A1 As Graphics Graphics.FromHwnd(New IntPtr(FindWindow(ClassNameWindowName)))
            If 
CheckBox1.Checked True Then
                A1
.DrawEllipse(greenPen5083801010)
            
End If
            If 
CheckBox2.Checked True Then
                A1
.DrawLine(greenPen512384514384)
                
A1.DrawLine(greenPen512385514385)
                
A1.DrawLine(greenPen512386514386)
            
End If
            If 
CheckBox3.Checked True Then
                A1
.DrawLine(greenPen510385516385)
                
A1.DrawLine(greenPen513382513388)
            
End If



        Catch
        
End Try
    
End Sub 
was muss ich ändern, dass das die linen bleiben und nicht immer neu gezeichnet werden müssen
06/26/2011 18:12 Dani'#2
Würde sagen dass hier sich fast keiner damit auskennt. geh mal in die Programmierer Section ;)

Lerne erst grad VB :D
06/26/2011 18:56 cяyptical#3
Lerne besser erst die VB-Grundlagen.

Private Sub crosshair1_Tick_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles crosshair1.Tick
Me.TopMost = True

Try

Dim A1 As Graphics = Graphics.FromHwnd(New IntPtr(FindWindow(ClassName, WindowName)))
If CheckBox1.Checked = True Then
A1.DrawEllipse(greenPen, 508, 380, 10, 10)
ElseIf CheckBox2.Checked = True Then
A1.DrawLine(greenPen, 512, 384, 514, 384)
A1.DrawLine(greenPen, 512, 385, 514, 385)
A1.DrawLine(greenPen, 512, 386, 514, 386)
ElseIf CheckBox3.Checked = True Then
A1.DrawLine(greenPen, 510, 385, 516, 385)
A1.DrawLine(greenPen, 513, 382, 513, 388)
End If



Catch
End Try
End Sub

Und warum das ganze in nem Timer? Klar, dass es dann flackert.

Besser ist es, soetwas auch im Paint-Ereignis zu machen, aber gut. Gerade weil du hier etwas in einem Spiel ändern willst, lege ich dir hier DirectX nahe. Mach's damit, es ist zwar schwerer, wird dir aber sicher bessere Resultate bringen.
06/27/2011 22:20 Nektarius#4
ich machs in nem timer weil das crosshair sonst gleich verschwindet