vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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
Problem liegt vielleicht woanders? 
Autor: NetNeuling
Datum: 26.10.05 14:26

Vielleicht liegt das Problem aber ganz woanders, denn ich habe auch noch eine ComboBox mit Ownerdraw, wo auch die ungültigen Einträge Rot sind.
Das klappt auch fast immer einwandfrei, bis auf ein paar seltsame Fälle.
Wenn man mit dem Cursor über einen Eintrag ist,
so wird er Blau hinterlegt und die Beschriftung wird weiß.

Manchmal wird die Schrift aber bei allen Items nicht weiß, sonder bleibt schwarz.

Wenn ich dann das Programm beende und anschließend gleich wieder compiliere ohne auch nur zur Code-Ansicht gewechselt (und den Code geändert zu haben), geht es wieder.
Ist da vielleicht generell mit meinem Visual Studio was nicht in Ordnung?
Vielleicht habe ich aber auch einen Fehler im Code:
    'alle Items sind von dem Typ:
    Public Structure ComboItem
        Dim Text As String
        Dim ID As Integer
        Dim gueltig As Boolean
    End Structure
 
    Private Sub comboFirmen_DrawItem(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.DrawItemEventArgs) Handles comboFirmen.DrawItem
        If Me.comboFirmen.Items.Count > 0 And e.Index >= 0 Then
            'Me.Text = e.State.ToString
            'Hover
            If e.State = DrawItemState.Selected + DrawItemState.NoFocusRect + _
              DrawItemState.NoAccelerator + DrawItemState.Focus Or e.State = _
              DrawItemState.Selected + DrawItemState.NoFocusRect + _
              DrawItemState.NoAccelerator + DrawItemState.Focus + _
              DrawItemState.ComboBoxEdit Then
                Dim StrBR As SolidBrush
                If Me.comboFirmen.Items(e.Index).gueltig = True Then
                    StrBR = New SolidBrush(Color.White)
                Else
                    StrBR = New SolidBrush(Color.Tomato)
                End If
                Dim BBrush As New SolidBrush(SystemColors.ActiveCaption)
                e.DrawBackground()
                e.Graphics.FillRectangle(BBrush, e.Bounds)
                e.Graphics.DrawString(Me.comboFirmen.Items(e.Index).text, _
                  comboFirmen.Font, StrBR, e.Bounds.X + 1, e.Bounds.Y + 1)
                e.DrawFocusRectangle()
 
                'Deaktiviert
            ElseIf e.State = DrawItemState.ComboBoxEdit + _
              DrawItemState.NoAccelerator + DrawItemState.Disabled + _
              DrawItemState.NoFocusRect Then
                Dim StrBR As SolidBrush
                If Me.comboFirmen.Items(e.Index).gueltig = True Then
                    StrBR = New SolidBrush(Color.DimGray)
                Else
                    StrBR = New SolidBrush(Color.Tomato)
                End If
                Dim BBrush As New SolidBrush(SystemColors.Control)
                e.DrawBackground()
                e.Graphics.FillRectangle(BBrush, e.Bounds)
                e.Graphics.DrawString(Me.comboFirmen.Items(e.Index).text, _
                  comboFirmen.Font, StrBR, e.Bounds.X, e.Bounds.Y + 1)
 
                'Nichts / Normal, ohne Hover
            Else
                Dim StrBR As SolidBrush
                If Me.comboFirmen.Items(e.Index).gueltig = True Then
                    StrBR = New SolidBrush(Color.Black)
                Else
                    StrBR = New SolidBrush(Color.Red)
                End If
                e.DrawBackground()
                e.Graphics.DrawString(Me.comboFirmen.Items(e.Index).text, _
                  comboFirmen.Font, StrBR, e.Bounds.X, e.Bounds.Y + 1)
            End If
        End If
    End Sub
 
 Private Sub comboFirmen_MeasureItem(ByVal sender As Object, ByVal e As _
   System.Windows.Forms.MeasureItemEventArgs) Handles comboFirmen.MeasureItem
        e.ItemWidth = Me.comboFirmen.Width
        e.ItemHeight = Me.comboFirmen.ItemHeight
    End Sub

MfG Radon

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ListViewItem verliert Farbe2.787NetNeuling21.10.05 13:01
Re: ListViewItem verliert Farbe2.129Maywood23.10.05 12:42
Re: ListViewItem verliert Farbe2.159NetNeuling24.10.05 11:24
Re: ListViewItem verliert Farbe2.154Maywood24.10.05 18:37
Re: ListViewItem verliert Farbe2.098NetNeuling25.10.05 17:31
Re: ListViewItem verliert Farbe2.150Maywood25.10.05 19:35
Re: ListViewItem verliert Farbe2.131Maywood25.10.05 19:54
Re: ListViewItem verliert Farbe2.127NetNeuling26.10.05 14:18
Problem liegt vielleicht woanders?2.137NetNeuling26.10.05 14:26
Re: Problem liegt vielleicht woanders?2.110Maywood26.10.05 18:00
Re: Problem liegt vielleicht woanders?2.110NetNeuling26.10.05 18:24
Re: Problem liegt vielleicht woanders?2.090Maywood26.10.05 19:57
Re: Problem liegt vielleicht woanders?2.056NetNeuling27.10.05 17:39
Re: Problem liegt vielleicht woanders?2.131Maywood31.10.05 10:20
Re: Problem liegt vielleicht woanders?2.140NetNeuling31.10.05 13:21
Re: Problem liegt vielleicht woanders?2.075Maywood01.11.05 11:19
Re: Problem liegt vielleicht woanders?2.101Maywood04.11.05 20:35
Re: Problem liegt vielleicht woanders?2.112NetNeuling05.11.05 11:38
Re: Problem liegt vielleicht woanders?2.082ModeratorDaveS05.11.05 17:35
Re: Problem liegt vielleicht woanders?2.054NetNeuling06.11.05 12:02
Re: Lösung gefunden!2.063NetNeuling07.11.05 17:31
Re: Lösung gefunden!2.138Maywood07.11.05 18:14
Re: Lösung gefunden!2.174NetNeuling07.11.05 18:40
Re: Lösung gefunden!2.243Maywood07.11.05 20:44

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