mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 2013
-
23 déc. 2007 à 00:12
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
23 déc. 2007 à 18:29
Bonjour,
J'aimerais savoir s'il existe un moyen de contourner la taille maxi d'une picturebox?
Je m'explique:
Pour les besoins de mon programme, j'utilise une picturebox, et j'y entre des données au fur et à mesure de mon programme (elles se rajoutent à la suite de ce qu'il y a déjà dedans, juste en dessous) (c'est l'utilisateur qui ajoute ces données), et j'utilise un système avec des srollbars pour me déplacer justement sur cette picturebox, à mon grès (tout ça fonctionne à merveille, et il est très important que tout reste enregistré dans la picturebox).
Cependant, pour une raison X, je dois rentrer plus de données que d'habitude dans la picturebox, et je sors apparamment des capacités picturebox de vb6 (hauteur trop grande).
Il est impensable de réduire la taille des images que je mets sur ma picturebox (déjà petites), et sachant que je fais un truc dynamique avec mes scrollbars, il est aussi impensable d'effacer des données que j'aurais mis dessus au fur et à mesure...
D'où ma question: connaissez vous un moyen de rallonger une picturebox au delà des capacités limitées de vb6, ou connaissez vous quelque chose qui puisse remplacer ma picturebox et qui s'allonge plus, ou suis je obligé de rajouter une deuxième picturebox juste en dessous et de faire les calculs "à la main" si jamais je déborde de la première? (sachant qu'avec deux picturebox, je resterais quoi qu'il arrive dans les limites de mon programme: je n'aurais pas besoin de plus de place)
Merci beaucoup
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 23 déc. 2007 à 08:09
Les limites de dimension sont incontournables pour une form, mais rarement pour une picturebox
Si c'est simplement une question de limite du nombre d'unités, passe le scalemode de la picturebox en unités plus importantes (pixels, points, etc...) et tu auras ainsi une picturebox beaucoup plus grande pour le même nombre maxi d'unités.
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 13:44
En fait, je viens de revoir le problème, je ne sais pas trop ce que c'est, ça marche impec les 270 premières lignes, et dès que je passe une certaine valeur, quand je descends avec ma scrollbar, ça buggue un max... (Bug d'affichage...)
Je fais une copie d'écran, tu verras mieux de quoi je parle...
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 363.75pt; HEIGHT: 189.75pt" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\DOCUME~1\CHRIST~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape>
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 13:58
J'arrive pas à uploader ici, j'ai pas de site internet, pas de FTP, rien, alors je l'ai mis ici..
http://www.megaupload.com/?d=S6ZW1GH6 Désolé pour ce désagrément, et merci.
Pourapprendretoujoursplus!
Vous n’avez pas trouvé la réponse que vous recherchez ?
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 14:25
Encore plus parlant...
Ca me fait ça si j'ai passé la limite avec ma scrollbar, et que je mets une fenêtre devant mon prog...
http://www.megaupload.com/?d=M3G4J445
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 14:31
Rebonjour,
J'ai mis un fichier .gif, tu devrais pouvoir l'ouvrir.
En fait, quand je passe une certaine hauteur avec ma picturebox, j'ai de gros bugs d'affichage, la picturebox à partir de cette valeur n'affiche rien de ce que je mets dessus, ça affiche n'importe quoi qui se met devant (genre là j'ai ouvert une fenêtre devant ma picturebox, et à partir de la valeur critique disons, ça m'affiche n'importe quoi...
Pareil si j'utilise ma scrollbar et que j'affiche une partie de la picturebox au delà de ce point critique, même si je n'ouvre pas de fenêtre devant mon programme, ça m'affiche n'importe quoi.
Quoi que je fasse, je ne peux pas voir ce qu'il y a après un certain point en gros.
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 14:46
Le code est un peu long dirons nous... (le programme non zippé fait près de 1 Mo et est assez complexe, donc je l'explique plutôt que de rentrer un code énorme...)
En gros:
La taille de ma picturebox(hauteur et largeur) est égale à la taille des éléments que je mets dedans.
Les scrollbar me permettent d'afficher la partie de la picturebox que je veux, juste en translatant ma picturebox dans un cadre
Au besoin, je rajoute des éléments dans ma picturebox (disons ici qu'ils s'ajoutent l'un en dessous de l'autre)
Donc à chaque fois que je rajoute un élément, je fais bien attention à ce qu'il ne sorte pas de ma picturebox, et si il sort, avant de l'ajouter je rallonge ma picturebox.
Tout marche bien donc,pas de problème si j'utilise mes scrollbars pour regarder dans ma picturebox, ni pour rajouter des éléments...
Sauf quand ma picturebox a une hauteur de plus de 9800 pixels environ (j'ai rajouté à ce moment là environ 270 lignes d'éléments).
A ce moment là, aucun des éléments que je rajoute en dessous n'apparait, même si je rallonge ma picturebox comme d'habitude.
Si j'utilise mes scrollbars, tout marche bien sauf si dans le cadre on voit une partie de la picturebox ayant dépassé la "hauteur limite", dans ce cas là, ça m'affiche n'importe quoi... comme si vb6 ne prenait pas en charge ce qu'il se passe dans ma picturebox après cette ligne et affichait n'importe quoi à la place.
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 14:49
Si tu veux, je peux t'envoyer le prog que j'ai fait jusqu'à présent par mail, le code n'est pas expliqué du tout cela dit, et très compliqué, je pense pas que tu en tires grand chose, mais au moins tu pourras observer le phénomène...
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 16:22
Ca n'a pas l'air de t'enchanter cette idée... :p
Je viens de faire d'autres tests, en fait, on dirait que ce n'est pas la hauteur max qui limite, mais plutôt la surface max de la picturebox.
(J'ai rajouté des éléments sur une ligne pour voir si le problème "bougeait", et la limite de ligne s'est considérablement abaissée (au départ ça me le faisait ligne 270, mais là ça me le fait à la ligne 150 environ.
Je vais donc essayer de contourner le problème en faisant plusieurs picturebox collées les unes aux autres de sorte à ne pas sortir des dimensions maximales pour éviter ces petits désagréments.
Ps: si tu veux voir le problème, ma proposition de t'envoyer le code, forms, etc... par email tient toujours
(Pas envie de distribuer le code au "grand public" encore (je n'ai pas fini le programme de toute façon ;-) ))
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 23 déc. 2007 à 17:10
salut,
la taille (height et width) d'une picturebox est de (2^14) -1 pixels, ce qui fait environ 15 fois la taille de l'écran
il en serait de même avec un usercontrol
tu ne dois pas avoir une zone infinie mais bien déplacer (.move) tes éléments dans la partie visible.
plus compliqué mais beaucoup plus logique :)
ps : tu peux utiliser POL pour poster tes captures
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 23 déc. 2007 à 18:03
Salut PCPT,
En fait, la limite ici apparait bien avant le 2^14-1 pixel dans une direction puisqu'apparamment j'arrive à rallonger encore la picturebox, mais ça me fait ce bug d'affichage.
Sinon, je crois que je vais demander un cerveau au papa noël cette année, je viens de passer 30 minutes à essayer d'utiliser ta source pour mettre mes images dans mon post, rien à faire, je mets l'image dans le presse papier, j'essai d'envoyer, rien ne s'affiche. J'essaie aussi de le faire en envoyant le fichier, pareil, rien ne s'affiche.
Je me sens vraiment con aujourd'hui x_x