IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

[VB.NET 2.0] Peut-on personnaliser la couleur d'un pen ou d'un brush ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 485
    Par défaut [VB.NET 2.0] Peut-on personnaliser la couleur d'un pen ou d'un brush ?
    Bonjour,

    Je suis en train de développer une application qui imprime des fiches descriptives à partir d'une banque de données de plantes.

    La fiche descriptive sera en couleurs. J'utilise les fonctions graphiques comme DrawString, DrawLine, etc. J'ai vu que pour les couleurs de trait ou de pinceau (brush), on peut choisir une centaine de couleurs prédéfinies, comme par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim blackPen As New Pen(Color.Black)
    Dim drawbrush As New SolidBrush(Color.DarkGreen)
    J'ai stocké le choix des couleurs dans des variables. Cependant, afin de permettre aux usagers de choisir eux-mêmes leur couleur, est-il possible de les envoyer dans l'écran de Windows où on peut choisir une couleur personnalisée (l'équivalent du Nuancier sous Macintosh) plutôt que d'être limitée aux 100+ couleurs proposées dans Visual Studio 2005?

    Et si c'est possible, comment doit-on coder le bazar? (Par exemple, stocker les préférences de couleurs dans le registre de Windows ou une table temporaire de la banque de données, et les récupérer dans les variables... ou quoi d'autre encore...).

    D'avance, merci beaucoup!
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

  2. #2
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // avec R, G et B
    Color macouleurcustom = Color.FromArgb(250, 218, 0);
    // la même méthode existe aussi avec le canal alpha (transparence )

  3. #3
    Membre éprouvé
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 485
    Par défaut
    ...et cela pour donner quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ' le code ici pour que l'utilisateur choisisse ses couleurs
    ' avec les variables X, Y et Z
    Dim macouleurcustom As New Color = Color.FromArgb(x, y, z)
    Dim drawbrush As New SolidBrush(macouleurcustom)
    Si j'ai bien compris? Si oui, c'est super alors
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

  4. #4
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Voilà, c'est ça
    (comme quoi on peut ne pas parler le même langage et se comprendre)

    Le dernier truc un peu galère, c'est de réussir à afficher toute une palette en trois dimension (R, G et B) dans un tableau à deux dimensions (le nuancier).

  5. #5
    Membre éprouvé
    Avatar de annedeblois
    Femme Profil pro
    Analyste d'exploitation
    Inscrit en
    Août 2005
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 50
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 485
    Par défaut
    Merci encore, car cela m'a permis de franchir le
    Anne, citoyenne canadienne
    Informaticienne, altiste et radioamateur... bref, originale
    Lire les règles...
    Un petit rappel: Je ne réponds à aucune question technique posée par MP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR XI] Graphique radars : peut-on personnaliser les axes ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 01/12/2006, 16h23
  2. Réponses: 3
    Dernier message: 20/10/2006, 16h41
  3. [VB.NET]comment on peut utiliser datarelation?
    Par debutante84 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/05/2006, 01h36
  4. [VB.NET] [Coredll.dll] Peut-on utiliser Coredll sur un ppc??
    Par hken dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 03/01/2006, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo