Aller au contenu


Photo

Style ,colonne


  • Please log in to reply
3 replies to this topic

#1 Gifour

Gifour

    Vieil inactif en retraite

  • Membres
  • PipPipPipPipPipPipPip
  • 3 729 Messages :
  • Configuration:IMac 20 pouces,,Ipad
  • Sexe:Masculin
  • Localisation:Les Sables d'Olonne
  • Passions:Moi

Posté 23 juillet 2010 - 14:05

Je ne vois pas comment m'y prendre. Je voudrais afficher une suite de mots dans une liste en mettant dans certains mots une ou plusieures lettres d'une couleur différente (comme pour signaler une faute sur une lettre. Je ne penses pas que cela soit possible. Qu'en pensez vous ?
Comme Dieu à part moi, vous voyez qui? (Gifour)

Fermer les maisons closes, c'est pire qu'une faute, c'est un pléonasme (Arletty)

#2 yzmar

yzmar

    Habitué(e)

  • Membres
  • PipPip
  • 180 Messages :
  • Configuration:iPhone 4S
    Imac 2011
    Macbook 13" 2007
    PowerBook17"G3
    iPod 40Go 2G
  • Sexe:Masculin
  • Localisation:Nantes
  • Passions:Mac REALBasic Mecanique Roller Photo

Posté 23 juillet 2010 - 14:34

C'est assez simple à réaliser, il faut modifier les propriétés dans l'évènement "CellTextPaint" de ta listbox de l'objet G (as graphics)


Function CellTextPaint(g As Graphics, row As Integer, column As Integer, x as Integer, y as Integer) As Boolean
  if ( row mod 2 )=0 Then  //--> Une ligne sur 2
    g.Bold= true
  Else
    g.Italic=True
  End If
End Function

Sinon tu peux carrément dessiner toi même le contenu de la cellule dans l'objet g, il faut alors renvoyer True pour indiquer à RB que c'est toi qui t'occupe de l'affichage du texte.
Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes.
Turbo Script

#3 Gifour

Gifour

    Vieil inactif en retraite

  • Membres
  • PipPipPipPipPipPipPip
  • 3 729 Messages :
  • Configuration:IMac 20 pouces,,Ipad
  • Sexe:Masculin
  • Localisation:Les Sables d'Olonne
  • Passions:Moi

Posté 23 juillet 2010 - 15:40

C'est assez simple à réaliser, il faut modifier les propriétés dans l'évènement "CellTextPaint" de ta listbox de l'objet G (as graphics)


Function CellTextPaint(g As Graphics, row As Integer, column As Integer, x as Integer, y as Integer) As Boolean
  if ( row mod 2 )=0 Then  //--> Une ligne sur 2
    g.Bold= true
  Else
    g.Italic=True
  End If
End Function

Sinon tu peux carrément dessiner toi même le contenu de la cellule dans l'objet g, il faut alors renvoyer True pour indiquer à RB que c'est toi qui t'occupe de l'affichage du texte.


Merci mais je ne cherche pas à changer la couleur de toute la ligne mais simplement d'une lettre au milieu du mot (par exemple les3 premieres en noir la 4° en rouge et la fin en noir) en changeant bien sur à chaque ligne de lettre et de position. Je pense qu'il faut que je dessine lettre par lettre dans une nouvelle image et que j'affiche le résultat.
Comme Dieu à part moi, vous voyez qui? (Gifour)

Fermer les maisons closes, c'est pire qu'une faute, c'est un pléonasme (Arletty)

#4 AliGator

AliGator

    (Trop) Grand Bavard

  • Membres d'honneur
  • PipPipPipPipPipPipPipPipPip
  • 12 338 Messages :
  • Configuration:• MacBook Pro 15" 2,2GHz, 10.6
    • MacMini G4 1,42GHz, 10.5
  • Sexe:Masculin
  • Localisation:Rennes (Bretagne, France)
  • Passions:Piano, Cuisine, Danse (Rock, ...), faire des réponses de 3km

Posté 23 juillet 2010 - 17:11

Oui dessine lettre par lettre, non pas dans une nouvelle image mais directement dans le Graphics "g" auquel tu as directement accès dans la méthode CellTextPaint

Le posteur fou de macfr
Mon blog: Crunchy Development
______________
Devise Shadok : S'il n'y a pas de solution, c'est qu'il n'y a pas de problème...





0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)