[VB6] définir un "thème"

erimen Messages postés 614 Statut Membre -  
Heliotte Messages postés 1561 Statut Membre -
Salut,

Je voudrais savoir s'il était possible de définir soit-même son thème, je veux dire par là les couleurs, les formes, la police, etc... par défaut des objets tels que frame, textbox, label, etc ...

merci de partager votre expérience

--
GEEK & LOVE !

9 réponses

  1. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir erimen,
    Oui, c'est à toi à l'implémenter, mais beucoup de choses sont possible .. sur en DOT.Net.
    Tu parles de VB6, mais le Visual Basic en DOT.Net est cent fois mieux et gratuit avec la version 'express' et en plus, la dernière version de Visual Studio Express 2012 est téléchargeable ici: https://visualstudio.microsoft.com/
    Bonne programmation
    0
  2. erimen Messages postés 614 Statut Membre 78
     
    Pour les cours je DOIS utiliser VB6 ... mais merci quand meme
    0
  3. Heliotte Messages postés 1561 Statut Membre 92
     
    Puisque tu doit utiliser VB6, je te conseille de mettre public tes variables de couleurs dans un module, de cette façon, tes variables seront connue avant même l'affichage des formulaires.
    Mieux que des variables, les structures.
    Une structure est un ensemble de variables qui sont regroupées, par exemple: Couleur.Form1Fond, Couleur.Form1Texte, Couleur.TextBox1Fond, Couleur.TextBox1Texte, etc.
    Bonne journée.
    0
  4. erimen Messages postés 614 Statut Membre 78
     
    dans quel module, un que je crée moi même ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heliotte Messages postés 1561 Statut Membre 92
     
    Oui, dans VB6, tu as au minimum un formulaire (si tu as choisis "EXE Standard" à la création du projet).
    Tu ajoutes des contrôles et tu as également la feuille de code qui lui est attachée.
    Dans la partie "Projet" (souvent à droite de l'écran), tu cliques avec le bouton droit de la souris dans l'espace vide ou dans le menu, tu cliques sur "Projet", "Ajouter un module".
    Voila.
    0
  7. erimen Messages postés 614 Statut Membre 78
     
    et je dois mettre quoi dans ce module ? genre

    textx(x).backcolor = &H00C0C0C0&

    ?
    0
  8. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir erimen,
    Effectivement, tu peux mettre "textx(x).backcolor = &H00C0C0C0&", mais, de 1, il faut référencer le formulaire (trop lourd) et de 2, c'est à mon avis trop ciblé.
    Je pense, sans vouloir contrer tes envies, que, mettre un peu de couleur c'est bien, mais trop de couleur tue l'harmonie du formulaire.
    Alors, je pencherais, mais cela reste mon avis perso, pour quelques couleurs, genre:
    - pour le formulaire : le fond et le texte,
    - pour les textbox : le fond et le texte en normal + le fond et le texte quand il y a erreur de syntaxe,
    - si tu ajoutes une ou plusieurs images, le contour,
    - si tu as des frames, couleur de fond ... etc.

    Déjà pour tout cela, il faut créer une structure, déclarer les variables, définir les valeurs dans une procédure qui est appelée dès le départ ...

    Dans le module:
    Option Explicit
    
    Private Type cCouleurs
        form_Fond       As Integer
        form_Text       As Integer
        tbx_Fond_Nrml   As Integer
        tbx_Text_Nrml   As Integer
        tbx_Fond_Err    As Integer
        tbx_Text_Err    As Integer
        img_Contour     As Integer
        frame_Fond      As Integer
    End Type
    Public MesCouleurs As cCouleurs
    
    Private Sub Main()
        form_Fond = &H8000000F      ' système : sommet du bouton
        form_Text = &H80000012      ' systèeme : texte du bouton
        tbx_Fond_Nrml = &H8000000F  ' système : sommet du bouton
        tbx_Text_Nrml = &H80000012  ' systèeme : texte du bouton
        tbx_Fond_Err = &HC0FFFF     ' jaune très clair
        tbx_Text_Err = &HFF&        ' rouge fort
        img_Contour = &H80&         ' bordeau
        frame_Fond = &H8000000F     ' système : sommet du bouton
    End Sub

    Il faut faire commencer ton programme par le "Main". Pour ce faire, il faut, dans le menu, cliquer sur "Projet", "Propriétés de ...", et dans la boîte de dialogue, "Objets de démarrage", choisir "Sub Main", cliquer sur "OK".
    Ensuite, dans n'importe quel formulaire de ton projet, tu fait appel, par exemple, pour l'écriture d'une textbox, comme ceci: NomDeLaTextBox.ForeColor = MesCouleurs.tbx_Text_Nrml et pour la couleur de fond : MesCouleurs.tbx_Fond_Nrm.
    Quand il y a une erreur dans la texte box, pour le fond : MesCouleurs.tbx_Fond_Err, et pour le texte : MesCouleurs.tbx_Fond_Err.

    J'espère t'avoir aidé un peu. Bonne soirée et bonne programmation.
    0
  9. erimen Messages postés 614 Statut Membre 78
     
    Merci mais moi je voyais ca avant la compilation du programme.
    en faite je cherche quelque chose dans le style :

    j'introduit une textbox dans mon programme, du coup vb ajoute des variables avec sa couleur, sa visibilité, son activation, son background etc.
    j'imaginerais un fichier qui contient le titre textbox et a dedans tous les paramètres possible pour une textbox qui contient des valeur de base comme visible : true - enabled : true - name : textx(x) etc etc

    je m'explique de plusieurs façon afin de mieux te faire comprendre ce que je cherche. :p

    merci déjà pour ton aide apporté je vais essayer ca déjà pour créer des "themes" de couleur ^^
    0
  10. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonjour erimen,

    Dans le cas d'un fichier (texte par exemple), tu garde tout. Il faut ajouter (par ex. dans le "Main" un accès à une procédure qui va lire les renseignements structurés dans le fichier texte, et soit remplir les variables comme décrites dans le message précédant, soit remplir un tableau, auquel cas il faudra faire appel à un de ces éléments pour donner la bonne valeur à telle ou telle propriété de tel contrôle.

    C'est faisable, mais il faut structuré le fichier de telle façon que tu puisse, un jour ou l'autre, ajouter un ou plusieurs éléments sans devoir tout chamboulé !

    J'insiste sur la structure du fichier .. si important qu'il faut bien y pensé (et surtout l'écrire) avant !
    0