Tipp 0024 Zeichnen auf dem Desktop
Autor/Einsender:
Datum:
  Michael Werner
21.11.2003
Entwicklungsumgebung:   VB.Net 2002
Framework:   1.0
Dieser Tipp zeigt am Beispiel der APIs GetDC und ReleaseDC, wie einfach API-Funktionen in VB.Net aufgerufen werden können, sofern die richtigen Datentypen für die Parameter eingesetzt werden. Im Normalfall wird aus Long (VB 6) immer Integer (VB.Net). Ein Handle ist in VB.Net mit der IntPtr-Struktur wiederzugeben. Der Typ IntPtr kann von Sprachen, die Zeiger unterstützen, verwendet werden, also von VB.Net.
Um auf dem Desktop zeichnen zu können, wird mit GetDC der Desktop-DC und mit der Methode FromHdc() der Graphic-Klasse das Objekt, auf dem gezeichnet werden soll, bestimmt.
 
Public Class Form1
  Inherits System.Windows.Forms.Form
Vom Windows Form Designer generierter Code
  Private Declare Function GetDC Lib "user32" Alias _
        "GetDC" (ByVal hwnd As Integer) As IntPtr

  Private Declare Function ReleaseDC Lib "user32" Alias _
        "ReleaseDC" (ByVal hwnd As Integer, ByVal hdc _
        As IntPtr) As Integer

  Private Sub Button1_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button1.Click

    Dim RedPen As New Pen(Color.Red, 50)
    Dim GreenPen As New Pen(Color.GreenYellow, 50)
    Dim dc As IntPtr
    Dim g As Graphics
    Dim i As Integer
    Dim waW, waH As Long

    waW = Screen.PrimaryScreen.WorkingArea.Width
    waH = Screen.PrimaryScreen.WorkingArea.Height

    dc = GetDC(0)
    g = Graphics.FromHdc(dc)

    g.DrawLine(RedPen, 10, 10, waW - 10, waH - 10)
    g.DrawLine(GreenPen, waW - 10, 10, 10, waH - 10)
    g.DrawString("VB-fun", New Font("Comic Sans Ms", 70), _
          New SolidBrush(Color.DarkBlue), waW / 3, waH / 2)

    g.Dispose()
    ReleaseDC(0, dc)
  End Sub

  Private Sub Button2_Click(ByVal sender As System.Object, _
          ByVal e As System.EventArgs) Handles Button2.Click
    Dim f2 As New Form2()
    f2.Show()
    Me.Close()
  End Sub
End Class
 
Links zum Thema
Ampel zeichnen
Geometrische Figuren zeichnen
Text zeichnen

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (8,7 kB) Downloads bisher: [ 1751 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 22 Januar 2012