Pb avec Dégradé d'une form en vb6

Résolu
cs_EXCLUSIF Messages postés 59 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 9 août 2007 - 22 juil. 2007 à 18:16
cs_EXCLUSIF Messages postés 59 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 9 août 2007 - 22 juil. 2007 à 21:09
Bonjour à tous,

Je chercher à faire un dégradé sur le fond de ma form principale et j'ai trouvé ce code qui me semble idéal vu la note et les commentaires hélas j'ai une erreur que je n'arrive pas à résoudre.

Ca me marque "Erreur de compilation : Erreur de syntaxe". Je ne sais pas comment résoudre mon problème. Peut-être pourriez-vous m'aider.

Voici le code : http://www.vbfrance.com/codes/DEGRADE-OFFICE_7355.aspx
Merci

Ludo

9 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juil. 2007 à 19:41
Dans ton module,
changePictureBox as objectpartoto as Form





et (bien évidemment) tout mot PictureBox y est égamlement à remplacer par toto




Mets par ailleurs le scalemode de ta Form à 3 (en pixels).





Assure-toi enfin que la propriété autoredraw de ta Form est à True
3
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juil. 2007 à 18:34
Bonjour,


Si tout ce que tu sais nous dire est :



"Ca me marque "Erreur de compilation : Erreur de syntaxe". Je ne sais pas comment résoudre mon problème. Peut-être pourriez-vous m'aider."




Nous voilà bien dans l'embarras pour te répondre.



Ce qui'il nous faut savoir n'est pas là, par contre : le code d'appel de ta fonction de dégradé (evec ses paramètres d'entrée et en nous disant à quoi tu penses qu'ils correspondent)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 juil. 2007 à 18:34
Mouais, bof !

C'est la façon la moins optimisée de tracer un dégradé (ou presque) !

Utilise donc les API Windows qui sont faîtes pour tracer des dégradés, ce sera plus rapide et tu aura la possibilité de faire ce que tu veux.

Les fonctions :
GradientFillRect
GradientFillTriangle

Avec ces deux fonctions tu peux faire des dégradés extrêmement complexes déjà et ils sont tracés en quelques millisecondes (comparé au tracé de lignes comme dans la source que tu propose...).
0
cs_EXCLUSIF Messages postés 59 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 9 août 2007 1
22 juil. 2007 à 18:40
Oups j'ai oublié de mettre l'appel de ma fonction. Désolé ! 

le voici : Degrad(Form1, 0, 0, me.width, me.height, vbRed, vbBlue, grdCorner_NE)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_EXCLUSIF Messages postés 59 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 9 août 2007 1
22 juil. 2007 à 18:58
Et d'après l'auteur de la fonction voici la manière de l'utiliser :

"Pour utliser la fonction, voici un exemple :
Dans une Form appelé Form1, Ajouter un bouton et appeller la fonction Degrad comme ceci :
Degrad (Form1, 0, 0, 50, 50, vbred, RGB(255,255,0),grd1to2)
où Form1 est l'objet qui doit être une Form ou un PictureBox,
X1,
Y1, X2, Y2 sont les coordonnées du rectangle dans lequel le dégradé
sera effectué, style étant le type de dégradé (utiliser les constantes
"DegradStyle") et le dégradé apparaîtra..."
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juil. 2007 à 19:02
3 questions, donc :
1) la form à "dégrader" a-t-elle pour nom Form1 ?
2) dans quoi se trouve ta fonction Degrad ? (dans Form1 ? dans un module ?, ailleurs et où ?)
3) quel est le scalemode de ta Form à dégrader ?
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
22 juil. 2007 à 19:04
Une 4ème (oubliée) :

Depuis où exactement appelles-tu cette fonction ? et depuis quel événement de ce où ?
0
cs_EXCLUSIF Messages postés 59 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 9 août 2007 1
22 juil. 2007 à 19:10
1) la form à "dégrader" a-t-elle pour nom Form1 ?

oui




2) dans quoi se trouve ta fonction Degrad ? (dans Form1 ? dans un module ?, ailleurs et où ?)

Dans un module dédié




3) quel est le scalemode de ta Form à dégrader ?

ScaleMode : 1 - Twip




4) Depuis où exactement appelles-tu cette fonction ? et depuis quel événement de ce où ?

Depuis ma form principale (Form1 donc), dans l'évènement Load
0
cs_EXCLUSIF Messages postés 59 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 9 août 2007 1
22 juil. 2007 à 21:09
Merci beaucoup ca fonctionne maintenant :)
0