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 - Fortgeschrittene
Re: Transparente Bilder 
Autor: Manfred X
Datum: 16.02.18 11:53

Du gibst nur einige Code-Ausschnitte wieder,
so daß ich nicht beurteilen kann, was Du erreichen willst
bzw. wo mögliche Fehler liegen.

NonFlickerPanel könnte evt. so gestaltet werden ...
Partial Public Class NonFlickerPanel
    Inherits Panel
 
    Private _img As Image = New Bitmap(20, 20) 'Default
 
    Public Property Img As Image
        Set(value As Image)
            If value Is Nothing Then Exit Property
            _img = value
            Invalidate()
        End Set
        Get
            Return _img
        End Get
    End Property
 
    Public Sub New()
        DoubleBuffered = True
        Me.SetStyle(ControlStyles.Opaque, True)
        Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, False)
        Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
        Me.SetStyle(System.Windows.Forms.ControlStyles.ResizeRedraw, True)
        MyBase.BackColor = System.Drawing.Color.Transparent
    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  ' Turn on WS_EX_TRANSPARENT
            Return cp
        End Get
    End Property
 
 
    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
 
        MyBase.OnPaint(e)
 
        'Zoomen und Zentrieren des übergebenen Bildes
        Dim zfw As Double = Me.Width / _img.Width
        Dim zfh As Double = Me.Height / _img.Height
        Dim zf As Double = Math.Min(zfh, zfw)
        Dim w As Integer = CInt(zf * _img.Width)
        Dim h As Integer = CInt(zf * _img.Height)
        Dim l As Integer = CInt((Me.Width - w) / 2)
        Dim t As Integer = CInt((Me.Height - h) / 2)
        Dim dr As New Rectangle(l, t, w, h)
 
        e.Graphics.DrawImage(_img, dr)
    End Sub
End Class
Die Eigenschaft "img" des Panel muß beim Ändern des "SelectedControl"
in Form1 das erforderliche Bild dort jeweils zugewiesen bekommen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Transparente Bilder1.936dm148515.02.18 09:03
Re: Transparente Bilder1.028Manfred X15.02.18 11:52
Re: Transparente Bilder1.131dm148515.02.18 13:27
Re: Transparente Bilder991Manfred X15.02.18 18:06
Re: Transparente Bilder1.006dm148516.02.18 10:07
Re: Transparente Bilder1.013Manfred X16.02.18 11:53
Re: Transparente Bilder985dm148516.02.18 13:44
Re: Transparente Bilder1.000Manfred X16.02.18 15:16
Re: Transparente Bilder1.004dm148516.02.18 15:29
Re: Transparente Bilder1.087dm148516.02.18 13:54
Re: Transparente Bilder960dm148516.02.18 14:44
Re: Transparente Bilder982Kuno6016.02.18 22:26
Re: Transparente Bilder952GPM17.02.18 15:43
Re: Transparente Bilder988dm148519.02.18 12:01
Re: Transparente Bilder1.028GPM19.02.18 23:56
Re: Transparente Bilder1.038dm148520.02.18 09:17
Re: Transparente Bilder990GPM20.02.18 11:08
Re: Transparente Bilder1.100dm148520.02.18 11:18
Re: Transparente Bilder984GPM20.02.18 22:26
Re: Transparente Bilder1.060dm148520.02.18 22:55
Re: Transparente Bilder981dm148521.02.18 08:50
Re: Transparente Bilder919GPM21.02.18 14:39
Re: Transparente Bilder890dm148521.02.18 21:18
Re: Transparente Bilder881dm148524.02.18 21:15

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