vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Anwendung ohne Fokus als Bildschirmtastatur 
Autor: GPM
Datum: 22.05.13 20:46

Ein einfacher Versuch ohne API:

Public Class Form1
    Dim WithEvents BtnX As New Button With {.Width = 30, .Height = 30, .Text = _
      "X", .Parent = Me}
    Dim Fo As New Font("Arial", 16)
    Dim cpos As Point
 
    Protected Overrides ReadOnly Property CreateParams() As _
      System.Windows.Forms.CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = &H8 Or &H8000000
            Return cp
        End Get
    End Property
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        Me.Width = 430
        Me.Height = 80
        BtnX.Left = Me.Width - 30
        Dim s As String = "0123456789"
        For i As Integer = 0 To s.Length - 1
            Dim Btn As New Button With {.Bounds = New Rectangle(6 + i * 42, 35, _
              40, 40), .Parent = Me}
            Btn.Text = s(i)
            Btn.Font = Fo
            Btn.Cursor = Cursors.Hand
            AddHandler Btn.MouseDown, AddressOf Mouse_Down
        Next
    End Sub
 
    Private Sub Mouse_Down(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs)
        SendKeys.Send(DirectCast(sender, Button).Text)
    End Sub
 
    Private Sub BtnX_Click(sender As System.Object, e As System.EventArgs) _
      Handles BtnX.Click
        Me.Close()
    End Sub
 
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
        cpos = e.Location
    End Sub
 
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Me.Top = Windows.Forms.Cursor.Position.Y - cpos.Y
            Me.Left = Windows.Forms.Cursor.Position.X - cpos.X
        End If
    End Sub
 
    Private Sub Form1_Paint(sender As Object, e As _
      System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        e.Graphics.DrawRectangle(Pens.Black, 1, 1, Me.Width - 3, Me.Height - 3)
        e.Graphics.DrawString("Bildschirmtastatur", Fo, Brushes.Black, 0, 0)
    End Sub
End Class
MfG GPM
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anwendung ohne Fokus als Bildschirmtastatur1.555Novatlan22.05.13 18:20
Re: Anwendung ohne Fokus als Bildschirmtastatur1.298FrankyHH22.05.13 20:21
Re: Anwendung ohne Fokus als Bildschirmtastatur1.076GPM22.05.13 20:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel