Italian Cambiare il colore del testo nello spinner e struttura ad albero

Discussion in 'Italian Forum' started by ken87, Aug 2, 2019.

  1. ken87

    ken87 Active Member Licensed User

    Buonasera,
    E' possibile impostare alcuni elementi dello Spinner di colore nero e a il resto di colore blu?
    Esempio

    elemento 1 = nero
    elemento 2 = nero
    elemento 3 = nero
    elemento 4 = blu
    elemento 5 = blu


    Inoltre esiste un controllo ad albero all'interno dello spinner?
    Esempio
    elemento 1
    sotto elemento 1
    sotto elemento 2
    sotto elemento 3
    elemento 2
    sotto elemento 1
    sotto elemento 2
    sotto elemento 3
    sotto elemento 4
    elemento 3
    elemento 4
    sotto elemento 1

    Grazie in anticipo
     
  2. Star-Dust

    Star-Dust Expert Licensed User

    Non è possibile questa personalizzazione nello spinner nativo di B4X.
    Non so se usando JavaObject si possano accedere a altre proprietà che consentono una tale personalizzazione.

    Io scegliere di realizzare uno spinner con la CustomView personalizzato
     
  3. ken87

    ken87 Active Member Licensed User

    Ciao,
    Sai se esiste un CustomView personalizzato o in che modo si potrebbe realizzare?
    Grazie mille
     
  4. Star-Dust

    Star-Dust Expert Licensed User

    sirjo66 likes this.
  5. ken87

    ken87 Active Member Licensed User

    Ciao,
    Grazie ora vedo
     
  6. ken87

    ken87 Active Member Licensed User

    ciao,
    Ho trovato questo codice in vb net che carica nella combox equivalente allo spinner elementi di diverso colore? secondo te è possibile convertirlo in vba?
    Code:
    Public Class Form1
        
    Private cb As New CCombobox With {.Parent = Me, .Location = New Point(1010)}
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            cb.Items.Add(New CComboboxItem("Item Number 1", Color.Green, Color.Yellow))
            cb.Items.Add(New CComboboxItem("Item Number 2", Color.Blue, Color.Red))
            cb.Items.Add(New CComboboxItem("Item Number 3", Color.Red, Color.Plum))
        End Sub

    End Class


    Class CCombobox : Inherits 
    ComboBox

        
    Sub New()
            Me.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
        
    End Sub

        Protected Overrides 
    Sub OnDrawItem(e As DrawItemEventArgs)
            MyBase.OnDrawItem(e)
            
    Dim item As CComboboxItem = DirectCast(Me.Items(e.Index), CComboboxItem)
            Using ForeBrush 
    As Brush = New SolidBrush(item.Forecolor)
                Using BackBrush 
    As Brush = New SolidBrush(item.Backcolor)
                    e.Graphics.FillRectangle(BackBrush, e.Bounds)
                    e.Graphics.TranslateTransform(
    0, e.Bounds.Y)
                    e.Graphics.DrawString(item.ToString, Me.Font, ForeBrush, 
    00)
                
    End Using
            
    End Using
        
    End Sub
    End Class





    Class CComboboxItem

        
    Public Sub New(Value As Object, Color As Color, BackColor As Color)
            Me.Value = Value
            Me.Forecolor = Color
            Me.Backcolor = BackColor

        
    End Sub

        
    Public Property Value As Object = Nothing
        
    Public Property Forecolor As Color = Color.Black
        
    Public Property Backcolor As Color = Color.Black

        
    Public Overrides Function ToString() As String
            
    Return Value.ToString
        
    End Function

    End Class
    Allego lo screen screenshot

    Grazie mille
     

    Attached Files:

  7. Star-Dust

    Star-Dust Expert Licensed User

    Ti ho risposto sopra
     
  8. ken87

    ken87 Active Member Licensed User

    Ciao,
    Grazie mille
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice