DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008
-
21 août 2007 à 15:48
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
22 août 2007 à 02:58
Bonsoir, je ne sais pas si quelqu'un a déja vu ca auparavant... jai un picturebox1 auquel j'ai insérer un picturebox2 dans le but de pouvoir faire un défilementdu picturebox2. j'ai ajouter le code pour agrandir la form (trouver ce sur site)
For Each ctrl In frmvente.Controls 'pour le resize de la form
et ayant déclarer
Dim cleft(50), ctop(50), cwid(50), chite(50)
jai 5 text box dans le picturebox2 et tout fonctionne a merveille
Le probleme surivent a ce moment
j'ai fait des groupe de controle de chaque textbox (4 textbox de chaque) et la quand j'appuie sur le bouton pour démarrer le projet..
voila que j'obtien le message d'erreur suivant
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 21 août 2007 à 21:13
non non , je ne crois pas que ç a soit ça !
Par contre je crois que c' est le groupe de controls (TextBox)
qui te pose des problèmes, car chaque pour control tu dois indiquer
son rang :TextBox(0) ,TextBox(1) ,TextBox(2) et TextBox(3) =>>
Tu ajoutes donc une variable indice pour avoir ctrl(indice),
Mais faire une boucle pour chaque groupe de control ,
<hr />
I LIKE TO BE HERE WHEN I CAN
<hr />
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 21 août 2007 à 22:34
Pas d'index à spécifier içi, puisqu'on est dans une boucle For Each ... Next
Non ! Par contre, je voudrais bien savoir ce que vaut la variable nommée cnt au premier tour de boucle ? Car si cnt vaut zéro, alors un cleft(cnt-1) risque de planter si cleft() à un indice démarrant à 1, comme tout tableau en VB6 par défaut !!
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 21 août 2007 à 22:48
Salut kristof,
Entièrement d' acc sur cnt...et sur Dim cleft(50)
Par contre :
For Each ctrl... Next => ctrl prend le nom du control
or pour TextBox(1) il ne retient que TextBox ce qui est faux
puisque tu n' as pas de control TextBox mais TextBox(0) ,TextBox(1)...etc.
Enfin , il me semble. ça se peut que je me trompe .
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 21 août 2007 à 23:20
chaibat05 < Désolé de te contredire, mais si, sur une form Form1 tu as les controle suivant : TextBox(0), TextBox(1), ...
Et bien dans une boucle ...
For Each Ctrl In Form1.Controls
...
Next
... Ctrl vaut succéssivement TextBox(0), TextBox(1), etc ...
Il ne "retient pas que Textbox" comme tu le dis, car dans notre cas, Textbox n'est pas un controle, mais une collection de controle, textbox n'est donc pas un élément de la collection Form1.Controls,et notre Ctrl ne pointera jamais sur la collection nommée TextBox.
DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008 22 août 2007 à 01:20
salut , si je fais un débug sur l'erreur, il surligne en jaune la ligne souligné
Private Sub Form_Load()
Dim ctrl As Control
Set db = OpenDatabase(App.Path & "\facturation.mdb") 'Ouvre la base de donnée facturation
VScroll1.Max = Picture1.Height + 500
For Each ctrl In frmvente.Controls 'pour le resize de la form
cleft(cnt) = ctrl.Left / frmvente.Width * 100
ctop(cnt) = ctrl.Top / frmvente.Height * 100
cwid(cnt) = ctrl.Width / frmvente.Width * 100
chite(cnt) = ctrl.Height / frmvente.Height * 100
cnt = cnt + 1
Next ctrl
End Sub
DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008 22 août 2007 à 01:37
Jai avancé un petit peu mais maintenant me voila rendu avec un autre probleme
dans le form load, jai ajouter on error goto error
et a la fin
error:
et jai mis la meme chose dans form resize
ce qui fait que je peut partir le programme et ca fonctionne sauf que maintenant
jai des label dans le haut de mon programme qui n'affiche pas lorsque je suis en mode petite fenetre!! et qui apraisse lorsque j'agrandit la fenetre??? bizzare
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 22 août 2007 à 01:55
il ne faut pas oublier que lorsque tu places des controls dans un container
(PictureBox ou Frame), la positions de ces controls se fait par rapport au container
et non pas par rapport à la denêtre.
Exemle:Une PictureBox dans laquelle on place un label.
PictureBox.Left=600
Label.Left=30
le label est sur le bord gauche de la picture box à la position 30.
Mais par rapport à la fenêtre c' est 630.
Mais si tu fais
label.Left=630
le label se placera à la position 630 par rapport au bord gauche de la picturebox.
Et ça sera 1230 par rapport à la feuille.
Si la largeur de ta picturebox est inférieur à 600, le label ne sera pas visible
puisqu'il débordera sur le côté droit de son container.
PS: Juste pour savoir: Comment tu as fais pour contourner l' erreur du Runtime.
DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008 22 août 2007 à 02:12
jai mit un ON ERROR GOTO ERROR
.....
ERROR:
jai mis ca dans form load et dans form resize
ca a fonctionné....
pour ce qui est des label qui ne s'affiche plus, ceux ci ne sont pas dans le picturebox et en plus il y en a 4 qui n'affiche plus et 2 qui s'affiche, ils sont tous de la meme dimension et un au dessou de l'autre!
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 22 août 2007 à 02:26
beh, il faut vérifier la position de chacun.
Dans Form_Resize mets ceci à la dernière ligne.
MsgBox Label1.Left & "-" & Label1.Top
et refais la même chose avec les autres.
Pour le On Error Goto ERROR:
il y' a bien erreur à un stade donné. ce qui fait que la boucle s' interrompt.
Essayes avec On Error Resume Next pour que le traitement continue malgé...
<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
DjMedz
Messages postés16Date d'inscriptionmercredi 8 août 2007StatutMembreDernière intervention 2 octobre 2008 22 août 2007 à 02:26
Et voilà tout est fonctionnel, j'ai supprimé mes labels et en ai recréer des nouveau et tout est OK.
Merci tout le monde pour votre aide! très apprécié