vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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 - Ein- und Umsteiger
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu 
Autor: Bazi
Datum: 14.01.22 20:40

aber dann müsste das auf meinem Entwicklungsrechner doch auch sein?
Hier mal der Code.
Das Paint:
Private Sub NotizDataGridView_CellPainting(ByVal sender As Object, ByVal e As _
  System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles _
  NotizDataGridView.CellPainting
        If loading Then Return
        If e.RowIndex = -1 Then
            If e.ColumnIndex = 2 Then
                Dim dgv = CType(sender, DataGridView)
                Using s As New IO.FileStream(IO.Path.Combine( _
                  Application.StartupPath, "Filter.ico"), IO.FileMode.Open)
                    Dim img = AutoSizeImage(Image.FromStream(s), 20, 20)
                    GridDrawCustomHeaderColumns(CType(sender, DataGridView), e, _
                      img, DGVHeaderImageAlignments.SingleRight)
                End Using
            ElseIf e.ColumnIndex = 3 Then
                GridDrawCustomHeaderColumns(CType(sender, DataGridView), e, _
                  Nothing, DGVHeaderImageAlignments.Default)
            Else
 
            End If
        End If
        If e.ColumnIndex < 1 OrElse e.RowIndex < 0 Then Return
        If loading OrElse DataSet.Beenden Then Return
        Try
            If NotizDataGridView.Columns(e.ColumnIndex).DataPropertyName = _
              DataSet.Notiz.KurztextColumn.ColumnName Then
                If NotizBindingSource.At(Of NotizRow)( _
                e.RowIndex).GetAufgabeRows.Count > 0 Then
                    Dim img As Image = Nothing
                    Dim nr = NotizBindingSource.At(Of ProjektDts.NotizRow)( _
                      e.RowIndex)
                    If Not nr Is Nothing AndAlso nr.GetAufgabeRows.Count > 0 Then
                        For Each ar In nr.GetAufgabeRows
                            If Not ar.IsErinnerungNull AndAlso ar.Erinnerung _
                              > Date.MinValue Then
                                img = ImageList1.Images(70) : Exit For ' 70 = 
                                ' Wecker
                                NotizDataGridView.Rows(e.RowIndex).Cells( _
                                  e.ColumnIndex).ToolTipText = "Erinnerung am " _
                                  & ar.Erinnerung.ToString
                            ElseIf Not ar.IsLangtextNull AndAlso _
                            ar.Langtext.Length > 0 Then
                                img = ImageList1.Images(71) ' 71 = 
                                ' Schraubenschlüssel
                            End If
                        Next
                    End If
 
                    If img Is Nothing Then Return
                    Dim bc As System.Drawing.Color = e.CellStyle.BackColor  ' 
                    ' NotizDataGridView.Rows(e.RowIndex).Cells( 
                    ' e.ColumnIndex).Style.BackColor
                    If bc = Color.Transparent Then bc = Color.WhiteSmoke
                    Using sb As New SolidBrush(bc)
                        e.Graphics.FillRectangle(sb, e.CellBounds)
                    End Using
                    Dim mask = DataGridViewPaintParts.All Xor _
                      DataGridViewPaintParts.ContentBackground ' zeichne alles 
                    ' ausser Hintergrund, den machen wir.
                    e.Paint(e.CellBounds, mask)
                    img = AutoSizeImage(img, e.CellBounds.Height - 20, _
                      e.CellBounds.Height - 20)
                    If img Is Nothing Then Return
                    e.Graphics.DrawImage(img, New Rectangle(e.CellBounds.Right _
                      - (img.Width + 3), e.CellBounds.Top + 2, img.Width, _
                      img.Height))
                    e.Handled = True
                End If
            End If
        Catch ex As Exception
            InfoBox(ex.Message)
        End Try
    End Sub

Danke für die Hilfe

Gruß Christian

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView OwnerDraw zeichnet sich nicht immer neu692Bazi13.01.22 15:07
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu358Manfred X14.01.22 10:34
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu325Bazi14.01.22 20:40
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu337Manfred X15.01.22 08:18
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu414Bazi14.01.22 20:43
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu349Kuno6015.01.22 00:28
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu411Bazi15.01.22 14:02
Re: DataGridView OwnerDraw zeichnet sich nicht immer neu316Bazi17.01.22 08:53

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