vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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 - Fortgeschrittene
ComboBox mit Linientypen - Klappt nur so halb  
Autor: crossweb
Datum: 15.08.06 08:43

Hallo zusammen,

ich versuche mir gerade eine Auswahl ComboBox für unterschiedliche Linientypen zu basteln (ähnlich der Linieneinganschaften z.B. in Word etc.).

Mein Ansatz ist wie folgt:

Ich habe die Combobox als OwnerDrawVariable definiert.

Anschließend verwende ich folgenden Code zum Zeichnen der Einträge:
    Private Sub ComboStyle_DrawItem(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.DrawItemEventArgs) Handles ComboStyle.DrawItem
        If e.Index < 0 Then Exit Sub
        Dim pentmp As New Pen(Color.Black)
        pentmp.Alignment = Drawing2D.PenAlignment.Center
        Select Case e.Index
            Case 0
                pentmp.DashStyle = Drawing2D.DashStyle.Solid
            Case 1
                pentmp.DashStyle = Drawing2D.DashStyle.Dash
            Case 2
                pentmp.DashStyle = Drawing2D.DashStyle.DashDot
            Case 3
                pentmp.DashStyle = Drawing2D.DashStyle.DashDotDot
        End Select
 
                'Vermessen des Feldes und Bestimmung der Position für die Linie
        Dim x1 As Integer = Math.Round(e.Bounds.Width * 0.1, 0)
        Dim x2 As Integer = Math.Round(e.Bounds.Width - (e.Bounds.Width * 0.1), _
          0)
        Dim y As Integer = Math.Round(e.Bounds.Height / 2, 0)
        e.DrawBackground()
        e.Graphics.DrawRectangle(New Pen(Color.Black, 1), e.Bounds)
        e.Graphics.FillRectangle(New System.Drawing.SolidBrush(Color.White), _
          e.Bounds)
        e.Graphics.DrawLine(pentmp, x1, y, x2, y)
        e.DrawFocusRectangle()
    End Sub
Nun kommt es zu folgendem Effekt:

Beim "Aufklappen" der Combobox zeichnet er wunderbar die erste Linie .... aber leider sind die nächsten Felder alle unbelegt.

Wähle ich jett einfach einmal eines der "leeren" Felder aus, dann zeigt die Combobox anschließend die gewünschte Linie an ----> Aber warum denn nur da?

Hat jemand von euch eine Idee zu diesem Thema?

Oder gibt es ähnlich des FontDialog oder ColorDialog auch soetwas wie einen LineStyleDialog als fertigen Dialog?

Danke soweit schon mal für Eure (wie immer) sehr hilfreichen Kommentare....

THOMAS
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ComboBox mit Linientypen - Klappt nur so halb 1.500crossweb15.08.06 08:43
Re: ComboBox mit Linientypen - Klappt jetzt richtig 1.013crossweb15.08.06 08:49

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