Announcement

Collapse
No announcement yet.

Anzeigeeinstellungen Listviewitem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anzeigeeinstellungen Listviewitem

    Hi,

    In meinem kleinen Testprogramm habe ich eine Listview,
    mit der View Eigenschaft "Tile" und einer Largeimagelist.

    Derzeit sieht meine Listview so aus:



    Wie man sieht wird der Text nicht Vollständig angezeit,
    nach 2 Zeilen ist schluss. Das würde ich gerne ändern!

    Außerdem wäre es ganz nett wenn das Selected Item so aussehen würde:



    So dass nicht nur der Text markiert ist, sondern auch der freie bereich
    neben dem Bild.

    Probiert habe ich schon:
    - Backcolor eigenschaft -> markiert wieder nur den Text
    - Text duch VbCrlf trennen -> Maximal 2 Zeilen



    Hoffe jemand weiß Rat!
    Gruß

  • #2
    So ja man erkennt an der Zeit das ich mich sehr damit beschätigt habe
    Ich musste mir erst die Draw funktionalität anlernen und das ist dabei rausgekommen:



    Ich bin sehr zufrieden, mit dem äußeren.

    ABER, die DrawItem Routine wird ja bei jeder bewegung aufgerufen,
    und jedes mal neu gezeichnet. Und das ruckelt und flimmert durch die ganze
    Listview. Stelle ich die Eigenschaften auf Standart zurück, flimmert nichts!!

    Mein Code:

    Code:
            
    
    'Wenn angeklickt bzw. selektiert dann:
            If e.State = 17 Or e.State = 529 Then
                e.DrawDefault = False
    
                Dim brush As New Drawing2D.LinearGradientBrush(e.Bounds, Color.DodgerBlue, _
                    Color.White, Drawing2D.LinearGradientMode.Horizontal)
                Try
                    e.Graphics.FillRectangle(brush, e.Bounds)
                Finally
                    brush.Dispose()
                End Try
    
    'Hier wird das Bild gezeichnet, ich glaube hier flimmerts!
                e.Graphics.DrawImage(ImageList1.Images(e.ItemIndex), e.Item.Bounds.X + 2, e.Item.Bounds.Y, 130, 96)
                e.Item.Text = "                                  " & Trim(e.Item.Text)
    
            Else
                e.DrawDefault = False
    
    'Und hier natürlich auch wieder
                e.Graphics.DrawImage(ImageList1.Images(e.ItemIndex), e.Item.Bounds.X + 2, e.Item.Bounds.Y, 130, 96)
                e.Item.ImageIndex = e.ItemIndex
                e.Item.Text = "                                  " & Trim(e.Item.Text)
            End If
    
            If Not Me.ListView1.View = View.Details Then
                e.DrawText()
            End If
    Wenn die Hürde noch genommen ist wär ich richtig zufrieden!

    Gruß

    Comment


    • #3
      ok ich hab was gefunden, allerdings komme ich damit nicht zurecht.

      http://blog.roncli.com/2005/11/got-n...w-flicker.html

      Ich weiß einfach nicht wie ich diesen Code in mein Projekt einfügen soll,
      ob ich das einfach so in den Designer reinhauen kann oder irgendwo hinzufügen.

      Comment


      • #4
        Habs hinbekommen, nur hilfts nichts..

        Comment


        • #5
          Ever tried. Ever failed. No matter. Try again. Fail again. Fail better. - Samuel Beckett

          Ich versuche auch viel - wenn ein Verusch nicht klappt teile ich das nicht gleich der ganzen Welt mit.
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            Ich wollte damit sagen das mir zu dem Thema mit Designercode
            keiner mehr zu helfen braucht

            "Habs hinbekommen"

            und desweiteren dass das Thema
            damit trotzdem noch nicht gegessen ist

            ", nur hilfts nichts. "

            Comment

            Working...
            X