Mega Code Archive

 
Categories / VB.Net by API / System Windows Forms
 

ControlStyles AllPaintingInWmPaint

Imports System Imports System.Collections Imports System.ComponentModel Imports System.Windows.Forms Imports System.Data Imports System.Configuration Imports System.Resources Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.Drawing.Imaging Public Class MainClass     Shared Sub Main()         Dim myform As Form = New TransparencyForm()         Application.Run(myform)     End Sub End Class Public Class TransparencyForm     Inherits System.Windows.Forms.Form     Public Sub New()         MyBase.New()         InitializeComponent()         Me.SetStyle(ControlStyles.ResizeRedraw, True)         Me.SetStyle(ControlStyles.DoubleBuffer, True)         Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)     End Sub     Friend WithEvents splitter2 As System.Windows.Forms.Splitter     Friend WithEvents splitter1 As System.Windows.Forms.Splitter     Friend WithEvents groupBox1 As System.Windows.Forms.GroupBox     Friend WithEvents panel1 As System.Windows.Forms.Panel     Friend WithEvents groupBox3 As System.Windows.Forms.GroupBox     Friend WithEvents panel3 As System.Windows.Forms.Panel     Friend WithEvents groupBox2 As System.Windows.Forms.GroupBox     Friend WithEvents panel2 As System.Windows.Forms.Panel     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()         Me.splitter2 = New System.Windows.Forms.Splitter()         Me.splitter1 = New System.Windows.Forms.Splitter()         Me.groupBox1 = New System.Windows.Forms.GroupBox()         Me.panel1 = New System.Windows.Forms.Panel()         Me.groupBox3 = New System.Windows.Forms.GroupBox()         Me.panel3 = New System.Windows.Forms.Panel()         Me.groupBox2 = New System.Windows.Forms.GroupBox()         Me.panel2 = New System.Windows.Forms.Panel()         Me.groupBox1.SuspendLayout()         Me.groupBox3.SuspendLayout()         Me.groupBox2.SuspendLayout()         Me.SuspendLayout()         '         'splitter2         '         Me.splitter2.Location = New System.Drawing.Point(232, 0)         Me.splitter2.Name = "splitter2"         Me.splitter2.Size = New System.Drawing.Size(3, 102)         Me.splitter2.TabIndex = 9         Me.splitter2.TabStop = False         '         'splitter1         '         Me.splitter1.Location = New System.Drawing.Point(229, 0)         Me.splitter1.Name = "splitter1"         Me.splitter1.Size = New System.Drawing.Size(3, 102)         Me.splitter1.TabIndex = 6         Me.splitter1.TabStop = False         '         'groupBox1         '         Me.groupBox1.Controls.AddRange(New System.Windows.Forms.Control() {Me.panel1})         Me.groupBox1.Dock = System.Windows.Forms.DockStyle.Left         Me.groupBox1.Location = New System.Drawing.Point(117, 0)         Me.groupBox1.Name = "groupBox1"         Me.groupBox1.Size = New System.Drawing.Size(112, 102)         Me.groupBox1.TabIndex = 5         Me.groupBox1.TabStop = False         Me.groupBox1.Text = "Original Colors"         '         'panel1         '         Me.panel1.BackColor = System.Drawing.Color.White         Me.panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D         Me.panel1.Dock = System.Windows.Forms.DockStyle.Fill         Me.panel1.Location = New System.Drawing.Point(3, 16)         Me.panel1.Name = "panel1"         Me.panel1.Size = New System.Drawing.Size(106, 83)         Me.panel1.TabIndex = 0         '         'groupBox3         '         Me.groupBox3.Controls.AddRange(New System.Windows.Forms.Control() {Me.panel3})         Me.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill         Me.groupBox3.Location = New System.Drawing.Point(117, 0)         Me.groupBox3.Name = "groupBox3"         Me.groupBox3.Size = New System.Drawing.Size(235, 102)         Me.groupBox3.TabIndex = 8         Me.groupBox3.TabStop = False         Me.groupBox3.Text = "Made Transparent"         '         'panel3         '         Me.panel3.BackColor = System.Drawing.Color.White         Me.panel3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D         Me.panel3.Dock = System.Windows.Forms.DockStyle.Fill         Me.panel3.Location = New System.Drawing.Point(3, 16)         Me.panel3.Name = "panel3"         Me.panel3.Size = New System.Drawing.Size(229, 83)         Me.panel3.TabIndex = 0         '         'groupBox2         '         Me.groupBox2.Controls.AddRange(New System.Windows.Forms.Control() {Me.panel2})         Me.groupBox2.Dock = System.Windows.Forms.DockStyle.Left         Me.groupBox2.Name = "groupBox2"         Me.groupBox2.Size = New System.Drawing.Size(117, 102)         Me.groupBox2.TabIndex = 7         Me.groupBox2.TabStop = False         Me.groupBox2.Text = "White Background"         '         'panel2         '         Me.panel2.BackColor = System.Drawing.Color.White         Me.panel2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D         Me.panel2.Dock = System.Windows.Forms.DockStyle.Fill         Me.panel2.Location = New System.Drawing.Point(3, 16)         Me.panel2.Name = "panel2"         Me.panel2.Size = New System.Drawing.Size(111, 83)         Me.panel2.TabIndex = 0         '         'TransparencyForm         '         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)         Me.ClientSize = New System.Drawing.Size(352, 102)         Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.splitter2, Me.splitter1, Me.groupBox1, Me.groupBox3, Me.groupBox2})         Me.Name = "TransparencyForm"         Me.Text = "TransparencyForm"         Me.groupBox1.ResumeLayout(False)         Me.groupBox3.ResumeLayout(False)         Me.groupBox2.ResumeLayout(False)         Me.ResumeLayout(False)     End Sub     Dim backgroundString As String = "a\n b\n c\n d\n e\n f\n g\n H \n"     Private Sub panel1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles panel1.Paint         Dim g As Graphics = e.Graphics         Dim bmp As Bitmap = New Bitmap("figure2.BMP")         g.DrawString(backgroundString, Me.Font, Brushes.Black, Me.ClientRectangle.Left, Me.ClientRectangle.Top)         Dim rect As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height)         rect.Offset((Me.panel1.ClientRectangle.Width - rect.Width) / 2, (Me.panel1.ClientRectangle.Height - rect.Height) / 2)         g.DrawImage(bmp, rect)     End Sub     Private Sub panel2_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles panel2.Paint         Dim g As Graphics = e.Graphics         Dim bmp As Bitmap = New Bitmap("figure2.BMP")         g.DrawString(backgroundString, Me.Font, Brushes.Black, Me.ClientRectangle.Left, Me.ClientRectangle.Top)         Dim colorMap As ColorMap() = New ColorMap() {New ColorMap()}         colorMap(0).OldColor = bmp.GetPixel(0, bmp.Height - 1)         colorMap(0).NewColor = Color.White         Dim attr As ImageAttributes = New ImageAttributes()         attr.SetRemapTable(colorMap)         Dim rect As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height)         rect.Offset((Me.panel1.ClientRectangle.Width - rect.Width) / 2, (Me.panel1.ClientRectangle.Height - rect.Height) / 2)         g.DrawImage(bmp, rect)     End Sub     Private Sub panel3_Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles panel3.Paint         Dim g As Graphics = e.Graphics         Dim bmp As Bitmap = New Bitmap("figure2.BMP")         g.DrawString(backgroundString, Me.Font, Brushes.Black, Me.ClientRectangle.Left, Me.ClientRectangle.Top)         bmp.MakeTransparent(bmp.GetPixel(0, bmp.Height - 1))         Dim rect As Rectangle = New Rectangle(0, 0, bmp.Width, bmp.Height)         rect.Offset((Me.panel1.ClientRectangle.Width - rect.Width) / 2, (Me.panel1.ClientRectangle.Height - rect.Height) / 2)         g.DrawImage(bmp, rect)     End Sub     Private Sub TransparencyForm_Layout(ByVal sender As Object, ByVal e As LayoutEventArgs) Handles MyBase.Layout         panel1.Refresh()         panel2.Refresh()         panel3.Refresh()     End Sub End Class