[HowTo] Visual Basic: BildschirmLupe

09/04/2011 12:44 P00w#1
Hey Leute

Ihr habt sicher schon gesehen "mrapc" hat ein Tutorial gezeigt wie man ein Screenshot maker erstellt.

Ich zeige euch hier wie ihr eine Bildschirm Lupe baut.
Ganz Easy.

Was brauchen wir?
1x Picturebox
1x Timer
------

1.Okee fangen wir an
Ihr nehmt die Picturebox und zieht sie über die ganze Form (Siehe Bild)
Bild:
Wenn ihr das gemacht habt klickt ihr einmal auf die Picturebox
und geht in das Eigenschaft's Fenster (Das finden ihr ganz Rechts)
Nun sucht ihr "Name" das ist das 3. von oben da müsste bei euch noch "Picturebox1" drinnen stehen das ändern ihr um in "lupe" (ohne "")
Wenn ihr das habt sucht ihr noch "SizeMode" das ist weiter unten
Da müsste bei euch "Normal" stehen. da wählt ihr "StrechImage" aus.

2. Ihr erstellt einen Timer1 (links in der Toolbox)
Ihr klickt einmal auf den Timer und geht wieder in das Eigenschaft's Fenster
Da setzt ihr "Enable" auf "True" und "Interval" auf "1"

3. Nun macht ihr auf eure Form einen Doppelklick
dann müsste die Code Seite sich öffnen
Das sieht dann ungefähr so aus
Code:
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
Mitten Public Class Form1 und Private Sub Form1 schreibt ihr das rein
Code:
    Public Function capturescreen(ByVal links As Integer, ByVal rechts As Integer) As Bitmap
        Dim b As New Bitmap(CInt(lupe.Width / 2), CInt(lupe.Height / 2))
        Dim g As Graphics = Graphics.FromImage(b)
        g.CopyFromScreen(links - (lupe.Width / 2), rechts - (lupe.Height / 2), 0, 0, b.Size)
        g.Dispose()
        Return b
    End Function
b= Bildbreite/Größe g= Grafik
Wenn ihr das gemacht habt müsste es dann so aussehen
Code:
Public Class Form1

    Public Function capturescreen(ByVal links As Integer, ByVal rechts As Integer) As Bitmap
        Dim b As New Bitmap(CInt(lupe.Width / 2), CInt(lupe.Height / 2))
        Dim g As Graphics = Graphics.FromImage(b)
        g.CopyFromScreen(links - (lupe.Width / 2), rechts - (lupe.Height / 2), 0, 0, b.Size)
        g.Dispose()
        Return b
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub
End Class
4.Das erste hätten wir schon jetzt fehlt nur mehr der Timer1
Also ich macht einen Doppel klick auf euren Timer1
Dann müsste sowas erscheinen
Code:
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    End Sub
End Class
Unter Private Sub Timer1 und ober End Sub schreibt ihr diesen Code rein.
Code:
lupe.Image = capturescreen(MousePosition.X, MousePosition.Y)
Soo das wars eig. schon Leute
Hoffe ihr könnt damit was Anfangen.