vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Panel mit Raster Scrollen -> Frage zu Mausposition 
Autor: Seek1
Datum: 29.05.13 09:16

Hallo Leute,

Ich möchte auf einem SCROLLBAREN Panel mehrere Steuerelemente zur Laufzeit einfügen.
Das Ziel: Ein riesiges Panel, auf dem ich Scrollen kann und Steuerelemente einfügen kann.
Das Problem: Mouseposition liefert mir immer den gleichen Wert nach dem Scrollen.
Ich möchte aber die Position der Maus auf dem Panel erhalten.
Habe als Test folgenden Code zusammengestoppelt:

Imports System.Drawing.Graphics
Imports System.Drawing
Imports Microsoft.VisualBasic
Public Class Form1
    Dim RasterStattPunkte As Boolean = False
    Dim Rastermass As Integer = 20
 
    Sub ZeichneRaster(ByVal e As PaintEventArgs) 'Erneuert den Raster
        Dim RasterGrafik As Graphics = e.Graphics
        Dim Farbe As New System.Drawing.Pen(System.Drawing.Color.Bisque)
        Dim Punkt As New Point
 
        If RasterStattPunkte = True Then
            For i = 0 To MyPanel1.Width Step Rastermass
                RasterGrafik.DrawLine(Farbe, i, 0, i, MyPanel1.Height) _
                  'x1,y1,x2,y2
            Next i
            For i = 0 To MyPanel1.Height Step Rastermass
                RasterGrafik.DrawLine(Farbe, 0, i, MyPanel1.Width, i) _
                  'x1,y1,x2,y2
            Next i
        Else
            For i = 0 To MyPanel1.Width Step Rastermass
                For r = 0 To MyPanel1.Height Step Rastermass
                    Punkt.X = i
                    Punkt.Y = r
                    RasterGrafik.DrawEllipse(Farbe, Punkt.X, Punkt.Y, 1, 1)
                Next r
            Next i
        End If
    End Sub
 
    Private Sub MyPanel1_MouseDown(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles MyPanel1.MouseDown
 
        MsgBox(Panel.MousePosition.ToString)
    End Sub
 
    Private Sub Panel_Paint(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.PaintEventArgs) Handles MyPanel1.Paint
        ZeichneRaster(e)
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        With MyPanel1
            .AllowDrop = True
            .AutoScroll = True
            .AutoSize = True
            .AutoScrollMinSize = New Size(1, 2)
            .Size = New Size(10000, 10000)
            .Location = New Point(0, 0)
            .BackColor = Color.Black
            ' .Dock = DockStyle.Fill   '--> Wenn Dockstyle = Fill _
              funktioniert der Scroll nicht mehr
        End With
    End Sub
 
 
End Class
Public Class MyPanel
    Inherits Panel
    Public Sub New()
        Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.UserPaint Or _
          ControlStyles.AllPaintingInWmPaint, True)
    End Sub
End Class


Beitrag wurde zuletzt am 29.05.13 um 09:39:19 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Panel mit Raster Scrollen -> Frage zu Mausposition1.281Seek129.05.13 09:16
Re: Panel mit Raster Scrollen -> Frage zu Mausposition828Manfred X29.05.13 10:04
Re: Panel mit Raster Scrollen -> Frage zu Mausposition742Seek129.05.13 10:06
Re: Panel mit Raster Scrollen -> Frage zu Mausposition728Manfred X29.05.13 10:20

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-2024 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