vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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: Grafikhintergrund transparent machen 
Autor: ModeratorDaveS (Moderator)
Datum: 02.06.06 20:53

Ein komplettes Control (es fehlen noch ein paar Attributes und so)
 
Imports System.ComponentModel
 
Public Class LineControl
    Inherits Control
    Implements ISupportInitialize
 
    Private _ps As Point = New Point(0, 0)
    Private _pe As Point = New Point(100, 100)
    Private _color As Color = Color.Black
    Private _width As Integer = 1
    Private _pen As Pen
    Private _init As Boolean
 
    Public Sub New()
        MyBase.New()
        _pen = New Pen(LineColor, LineWidth)
        Me.Dock = DockStyle.Fill
    End Sub
 
    Public Sub New(ByVal ps As Point, ByVal pe As Point, ByVal lineColor As _
      Color, ByVal lineWidth As Integer)
        MyBase.New()
        _ps = ps
        _pe = pe
        _color = lineColor
        _width = lineWidth
        _pen = New Pen(lineColor, lineWidth)
        Me.Dock = DockStyle.Fill
    End Sub
 
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        If _pen IsNot Nothing Then
            _pen.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub
 
    Public Property StartPoint() As Point
        Get
            Return _ps
        End Get
        Set(ByVal value As Point)
            _ps = value
            Me.Refresh()
        End Set
    End Property
 
    Public Property EndPoint() As Point
        Get
            Return _pe
        End Get
        Set(ByVal value As Point)
            _pe = value
            Me.Refresh()
        End Set
    End Property
 
    Public Property LineColor() As Color
        Get
            Return _color
        End Get
        Set(ByVal value As Color)
            _color = value
            If _init Then Return
            If _pen IsNot Nothing Then
                _pen.Dispose()
            End If
            _pen = New Pen(value, _width)
            Me.Refresh()
        End Set
    End Property
 
    Public Property LineWidth() As Integer
        Get
            Return _width
        End Get
        Set(ByVal value As Integer)
            _width = value
            If _init Then Return
            If _pen IsNot Nothing Then
                _pen.Dispose()
            End If
            _pen = New Pen(_color, value)
            Me.Refresh()
        End Set
    End Property
 
    Protected Overrides Sub OnPaint(ByVal e As _
      System.Windows.Forms.PaintEventArgs)
        If _pen Is Nothing Then Return
        e.Graphics.DrawLine(_pen, _ps, _pe)
    End Sub
 
    Protected Overrides ReadOnly Property CreateParams() As _
      System.Windows.Forms.CreateParams
        Get
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle Or &H20
            Return cp
        End Get
    End Property
 
    Protected Overrides Sub OnPaintBackground(ByVal pevent As _
      System.Windows.Forms.PaintEventArgs)
        ' Don't draw background!
    End Sub
 
    Public Sub BeginInit() Implements _
      System.ComponentModel.ISupportInitialize.BeginInit
        _init = True
    End Sub
 
    Public Sub EndInit() Implements _
      System.ComponentModel.ISupportInitialize.EndInit
        _init = False
        If _pen IsNot Nothing Then
            _pen.Dispose()
        End If
        _pen = New Pen(_color, _width)
    End Sub
 
End Class

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Grafikhintergrund transparent machen1.414Joh01.06.06 12:00
Re: Grafikhintergrund transparent machen961GPM01.06.06 16:07
Re: Grafikhintergrund transparent machen896Joh01.06.06 17:11
Re: Grafikhintergrund transparent machen921GPM01.06.06 17:34
Re: Grafikhintergrund transparent machen809Joh01.06.06 17:57
Re: Grafikhintergrund transparent machen1.008GPM01.06.06 20:12
Re: Grafikhintergrund transparent machen933ModeratorDaveS01.06.06 20:11
Re: Grafikhintergrund transparent machen841Joh02.06.06 14:48
Re: Grafikhintergrund transparent machen877ModeratorDaveS02.06.06 14:54
Re: Grafikhintergrund transparent machen848Joh02.06.06 15:40
Re: Grafikhintergrund transparent machen851ModeratorDaveS02.06.06 15:44
Re: Grafikhintergrund transparent machen842ModeratorDaveS02.06.06 19:05
Re: Grafikhintergrund transparent machen910ModeratorDaveS02.06.06 20:53
Re: Grafikhintergrund transparent machen867GPM02.06.06 21:59
Re: Grafikhintergrund transparent machen890GPM03.06.06 10:06
Re: Grafikhintergrund transparent machen872Joh06.06.06 14:29
Re: Grafikhintergrund transparent machen912GPM02.06.06 15:40
Re: Grafikhintergrund transparent machen808Joh02.06.06 16:12

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