Besoin d'aide - Module de "customisation" du design

Résolu
Signaler
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011
-
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011
-
Salut à tous,

alors j'ai un gros problème avec mon application. Enfaite, je voudrais offrir une fonction "customisation du design" pour mes utilisateurs, mais rien à faire.. je ne comprends pas pourquoi ca ne marche pas..


Alors voilà, customisation du design, c'est-à-dire, par exemple j'offre la possibilité aux utilisateurs d'éditer en quelque sorte toutes les couleurs.. couleur de toutes les frames, checkbox, labels, textbox..

J'ai donc fait un module tout simple qui à mes yeux, devait fonctionner.. mais le hic c'est que ca ne fonctionne pas.


Voilà le code du module:

Public Function customColor() As String
With frmGUI
.txtTColor.ForeColor = "&H" & txtTColor.Text & "&"
.txtLColor.ForeColor = "&H" & txtTColor.Text & "&"
.txtFColor.ForeColor = "&H" & txtTColor.Text & "&"
.txtCColor.ForeColor = "&H" & txtTColor.Text & "&"
.txtBanner.ForeColor = "&H" & txtTColor.Text & "&"
.txtTransparency.ForeColor = "&H" & txtTColor.Text & "&"

.Label1.ForeColor = "&H" & txtLColor.Text & "&"
.Label2.ForeColor = "&H" & txtLColor.Text & "&"
.Label3.ForeColor = "&H" & txtLColor.Text & "&"
.Label4.ForeColor = "&H" & txtLColor.Text & "&"
.Label7.ForeColor = "&H" & txtLColor.Text & "&"

.Frame1.ForeColor = "&H" & txtFColor.Text & "&"
.Frame2.ForeColor = "&H" & txtFColor.Text & "&"
.Frame3.ForeColor = "&H" & txtFColor.Text & "&"

.chkColor.ForeColor = "&H" & txtCColor.Text & "&"
.chkBanner.ForeColor = "&H" & txtCColor.Text & "&"
.chkTransparency.ForeColor = "&H" & txtCColor.Text & "&"
End With

With frmMain
.txtIPoney.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.txtPorts.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.txtHosts.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.txtNews.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.txtLogs.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.optClient.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.optServer.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.txtInput.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"
.txtChrs.ForeColor = "&H" & frmGUI.txtTColor.Text & "&"

.Label2.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.Label3.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.Label4.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.Label5.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.Label6.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.lblherp.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.Label9.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"
.Label10.ForeColor = "&H" & frmGUI.txtLColor.Text & "&"

.Frame1.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"
.Frame2.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"
.Frame3.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"
.Frame4.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"
.Frame14.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"
.Frame11.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"
.Frame7.ForeColor = "&H" & frmGUI.txtFColor.Text & "&"

.chkLoop.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkLook.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkDance.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkEffect.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkWalk.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkBubble.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkDisco.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
.chkBypass.ForeColor = "&H" & frmGUI.txtCColor.Text & "&"
End With
End Function



dans la form "frmGUI" ('panel' de customisation des couleurs) j'ai fait comme sa:

Private Sub cmdApply_Click()
On Error Resume Next

Call mdlGUI.customColor
End Sub


j'ai tout essayé, ca ne marche pas.. normalement, ca devrait éditer toutes les couleurs par les couleurs "customisées" en appuyant sur le bouton "Apply", sauf que.. rien n'a faire, ca ne marche pas.


S'il vous plaît c'est pas mal urgent, si quelqu'un aurait la gentillesse de m'aider avec ce casse-tête, je lui serais très reconnaissant.

12 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
ou tu n'es à ce moment précis pas sur le Form frmlGui. Et dans ce cas (bien évidemment) :
.txtTColor.ForeColor = "&H" & txtTColor.Text & "&"

doit être écrit ainsi :
.txtTColor.ForeColor = "&H" & .txtTColor.Text & "&"

Mais on s'écarte peu à peu du problème de départ, pour aborder d'autres aspects (au demeurant aussi fondamentaux que le premier !)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Nonjour,

mis à part le fait que l'on se sait pas ce qui a été saisi dans une textbox :

- la propriété backcolor est un Long
- "&H" & txtTColor.Text & "&" est de type string

Il faut écrire ainsi (exemple) :

.txtTColor.ForeColor = Val("&H" & txtTColor.Text & "&")


Il te faut par ailleurs prendre l'habitude, sur ce forum, d'éviter les déclarations du genre :
ca ne fonctionne pas.
, sans autre précision, alors que ton code, tel qu'écrit, ne peut que dénoncer une erreur (dont tu ne dis pas un mot !)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Ah ! Vu pourquoi !
Je sais pourquoi tu n'avais aucun message d'erreur !
Tu l'as inhibé ici :
Private Sub cmdApply_Click()
  On Error Resume Next ' <<<==== tres mauvaise habitude !
  Call mdlGUI.customColor
End Sub

Voilà une fort mauvaise habitude à perdre le plus tôt possible. === >>>
1) on n'utilise pas On Error Resume Next comme "cache-crotte" de tout ! (il est rare que l'on ait à l'utiliser)
2) on ne l'utilise surtout jamais, lorsque l'on cherche pourquoi "ça ne fonctionne pas"

Autre remarque (bien que non directement liée à ton problème):
Public Function customColor() As String

customColor n'est pas une fonction, mais une simple procédure .
Une fonction est faite pour retourner une valeur
===>>>
Public Sub customColor() As String

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011

Merci pour vos réponses, mais il y a toujours un problème.. j'ai fait ucfoutu m'a dit, j'ai déclaré la fonction en tant que 'Long', et j'ai aussi enlevé le "On error resume next" pour voir quelle est l'erreur...


Ca m'affiche "run-time error '424' objet required"..

Je sais pas quoi faire, je vois vraiment pas ou est l'erreur, s'il vous plaît aidez-moi.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
C'est que tu as alors raté quelque-chose
Allez :
Montre ton code corrigé

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011

Mon code corrigé est:

Public Function customColor() As Long
With frmGUI
.txtTColor.ForeColor = Val("&H" & txtTColor.Text & "&")
.txtLColor.ForeColor = Val("&H" & txtTColor.Text & "&")
.txtFColor.ForeColor = Val("&H" & txtTColor.Text & "&")
.txtCColor.ForeColor = Val("&H" & txtTColor.Text & "&")
.txtBanner.ForeColor = Val("&H" & txtTColor.Text & "&")
.txtTransparency.ForeColor = Val("&H" & txtTColor.Text & "&")

.Label1.ForeColor = Val("&H" & txtLColor.Text & "&")
.Label2.ForeColor = Val("&H" & txtLColor.Text & "&")
.Label3.ForeColor = Val("&H" & txtLColor.Text & "&")
.Label4.ForeColor = Val("&H" & txtLColor.Text & "&")
.Label7.ForeColor = Val("&H" & txtLColor.Text & "&")

.Frame1.ForeColor = Val("&H" & txtFColor.Text & "&")
.Frame2.ForeColor = Val("&H" & txtFColor.Text & "&")
.Frame3.ForeColor = Val("&H" & txtFColor.Text & "&")

.chkColor.ForeColor = Val("&H" & txtCColor.Text & "&")
.chkBanner.ForeColor = Val("&H" & txtCColor.Text & "&")
.chkTransparency.ForeColor = Val("&H" & txtCColor.Text & "&")
End With

With frmMain
.txtIP.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.txtPort.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.txtHost.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.txtNews.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.txtLogs.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.optClient.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.optServer.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.txtSend.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")
.txtChr.ForeColor = Val("&H" & frmGUI.txtTColor.Text & "&")

.Label2.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.Label3.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.Label4.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.Label5.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.Label6.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.lblherp.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.Label9.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")
.Label10.ForeColor = Val("&H" & frmGUI.txtLColor.Text & "&")

.Frame1.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")
.Frame2.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")
.Frame3.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")
.Frame4.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")
.Frame14.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")
.Frame11.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")
.Frame7.ForeColor = Val("&H" & frmGUI.txtFColor.Text & "&")

.chkLoop.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkLook.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkDance.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkEffects.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkWalk.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkBubble.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkDisco.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
.chkBypassKick.ForeColor = Val("&H" & frmGUI.txtCColor.Text & "&")
End With
End Function

Public Function customTransparency() As String
' à venir.
End Function

Public Function customBanner() As String
Set frmMain.imgBanner.Picture = LoadPicture(".\banners" & frmGUI.txtBanner.Text)
End Function



Et dans la commande 'Apply' je n'ai rien changé, c'est toujours

Private Sub cmdApply_Click()
If chkColor.Value = True Then
Call mdlGUI.customColor
End If

If chkBanner.Value = True Then
Call mdlGUI.customBanner
End If

If chkTransparency.Value = True Then
Call mdlGUI.customTransparency
End If
End Sub
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
bien !
et l'erreur :
run-time error '424' objet required

est sur quelle ligne ?
Au passage : elle dénonce un contrôle inexistant sur le form censé le contenir.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011

Malgré tout sa, je ne vois vraiment pas du tout d'ou vient l'erreur.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Et si tu répondais à la question PRECISE que je t'ai posée ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011

Eh bien, l'erreur vient apparemment du module.. Ca me marque en jaune la première ligne

.txtTColor.ForeColor = Val("&H" & txtTColor.Text & "&")
...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
cela est très clair :
le contrôle nommé txtTColor n'existe par sur le Form nommé frmGUI


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
6
Date d'inscription
samedi 5 novembre 2011
Statut
Membre
Dernière intervention
1 décembre 2011

NIQUEL!!! Merci beaucoup ucfoutu!!


J'avoue, c'était une grosse gaffe de pas avoir vu que j'avais oublié de rajouter le points pour déclarer dans quelle form était la textbox "txtTColor"..

eheh, fumer un petit pet pendant qu'on programme.. pratique pour avoir de l'imagination... par contre, niveau performance, pas pratique du tout. lol


Merci encore, ucfoutu.


Problème résolut.