Click here to Skip to main content
16,006,514 members
Home / Discussions / Visual Basic
   

Visual Basic

 
GeneralRe: Message Handler in VB.NET Pin
Richard Deeming29-Jul-02 1:21
mveRichard Deeming29-Jul-02 1:21 
GeneralRe: Message Handler in VB.NET Pin
JGraves29-Jul-02 4:18
JGraves29-Jul-02 4:18 
GeneralComboBox - MultiColumn Pin
mikasa24-Jul-02 2:52
mikasa24-Jul-02 2:52 
GeneralRe: ComboBox - MultiColumn Pin
Richard Deeming26-Jul-02 6:07
mveRichard Deeming26-Jul-02 6:07 
GeneralRe: ComboBox - MultiColumn Pin
mikasa17-Jan-03 10:03
mikasa17-Jan-03 10:03 
GeneralRe: ComboBox - MultiColumn Pin
Richard Deeming5-Aug-02 1:04
mveRichard Deeming5-Aug-02 1:04 
GeneralRe: ComboBox - MultiColumn Pin
Richard Deeming5-Aug-02 1:11
mveRichard Deeming5-Aug-02 1:11 
GeneralRe: ComboBox - MultiColumn Pin
Richard Deeming5-Aug-02 1:23
mveRichard Deeming5-Aug-02 1:23 
Next, a base for the ComboBox / ListBox:
Imports System.Drawing
Imports System.Windows.Forms
Imports System.ComponentModel

Public Class ComboBoxEx : Inherits ComboBox
'Or - Public Class ListBoxEx : Inherits ListBox
    Protected HighlightBrush As Brush
    Protected HighlightPen As Pen

#Region "Constructors"
    Public Sub New()
        DrawMode = DrawMode.OwnerDrawFixed
        ItemHeight += 1
        HighlightBrush = New SolidBrush(SystemColors.Highlight)
	HighlightPen = New Pen(SystemColors.HighlightText)
    End Sub
#End Region

#Region "Overrides"
    Protected Overrides Sub OnDrawItem(ByVal e As DrawItemEventArgs)
        If Not (e.Index = -1) Then
            DrawListBoxItem(e)
        End If
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            HighlightBrush.Dispose()
            HighlightPen.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub

    <Browsable(False)> _
    Public Shadows Property DrawMode() As DrawMode
        Get
            Return MyBase.DrawMode
        End Get
        Set(ByVal Value As DrawMode)
            MyBase.DrawMode = Value
        End Set
    End Property
#End Region

#Region "Implementation"
    Protected Sub DrawListBoxItem(ByVal e As DrawItemEventArgs)
        '// Draw List box item
        If Enabled AndAlso _
            ((e.State And DrawItemState.Selected) = DrawItemState.Selected) Then

            DrawItemHighlight(e)
        Else
            DrawItemClearHighlight(e)
        End If
        DrawItemText(e)
    End Sub

    Protected Overridable Sub DrawItemText(ByVal e As DrawItemEventArgs)
        Dim currentObject As Object = Items(e.Index)
        Dim item As String = GetItemText(currentObject)
        If Not (item Is Nothing) Then
            Dim B As Brush
            If Enabled Then
                B = New SolidBrush(e.ForeColor)
            Else
                B = SystemBrushes.ControlDark
            End If

            e.Graphics.DrawString(item, _
                    e.Font, _
                    B, _
                    New PointF(e.Bounds.Left + 2, e.Bounds.Top))

            If Enabled Then B.Dispose()
        End If
    End Sub

    Protected Overridable Sub DrawItemHighlight(ByVal e As DrawItemEventArgs)
        Dim g As Graphics = e.Graphics
        Dim b As Rectangle = e.Bounds
        g.FillRectangle(HighlightBrush, b)
        g.DrawRectangle(HighlightPen, b.Left, b.Top, b.Width - 1, b.Height - 1)
    End Sub

    Protected Overridable Sub DrawItemClearHighlight(ByVal e As DrawItemEventArgs)
        e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds)
    End Sub
#End Region

End Class

GeneralRe: ComboBox - MultiColumn Pin
Richard Deeming5-Aug-02 1:24
mveRichard Deeming5-Aug-02 1:24 
GeneralRe: ComboBox - MultiColumn Pin
mikasa5-Aug-02 4:41
mikasa5-Aug-02 4:41 
GeneralRe: ComboBox - MultiColumn Pin
Richard Deeming5-Aug-02 22:42
mveRichard Deeming5-Aug-02 22:42 
Generalsocket programming in vb Pin
kavitha24-Jul-02 2:22
kavitha24-Jul-02 2:22 
GeneralRe: socket programming in vb Pin
Nick Parker25-Jul-02 8:17
protectorNick Parker25-Jul-02 8:17 
GeneralVB and Excel 2000 interaction Pin
patty23-Jul-02 22:12
patty23-Jul-02 22:12 
GeneralRe: VB and Excel 2000 interaction Pin
afronaut25-Jul-02 15:36
afronaut25-Jul-02 15:36 
GeneralRe: VB and Excel 2000 interaction Pin
patty25-Jul-02 22:49
patty25-Jul-02 22:49 
QuestionHow to get info abt printer in vb 6 Pin
Birdy23-Jul-02 20:03
Birdy23-Jul-02 20:03 
GeneralINET Control Web Proxy Problems Pin
TheChocolatay22-Jul-02 6:49
TheChocolatay22-Jul-02 6:49 
Generalvb6 webbrowser control Pin
Anonymous22-Jul-02 3:34
Anonymous22-Jul-02 3:34 
GeneralConverting IEEE Format Singles To Internal Longs Pin
Jason Teagle22-Jul-02 0:29
Jason Teagle22-Jul-02 0:29 
GeneralRe: Converting IEEE Format Singles To Internal Longs Pin
Richard Deeming22-Jul-02 23:46
mveRichard Deeming22-Jul-02 23:46 
GeneralRe: Converting IEEE Format Singles To Internal Longs Pin
Jason Teagle22-Jul-02 23:49
Jason Teagle22-Jul-02 23:49 
Generaledit explorer.exe Pin
Manish Wadhera20-Jul-02 20:53
Manish Wadhera20-Jul-02 20:53 
GeneralRe: edit explorer.exe Pin
SHaroz21-Jul-02 16:37
SHaroz21-Jul-02 16:37 
GeneralRe: edit explorer.exe Pin
SHaroz21-Jul-02 16:40
SHaroz21-Jul-02 16:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.