Picturebox - Taille max

Signaler
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

 Pourapprendretoujoursplus!

15 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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.
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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>

Et là, quand ça marche pas...

<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><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>

 Pourapprendretoujoursplus!
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
Ok, il m'a pas affiché mes images... -_-
Vais trouver un moyen d'envoyer ça.
Désolé

 Pourapprendretoujoursplus!
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Bien compliqué, ton "megaupload"...

et le tout pour arriver à un document Word !!!
(Il se trouve que je n'ai pas Word)

Quel est donc le rapport avec une picturebox et VB6 ?

Explique donc (tu devrais pouvoir le faire avec des explications simples et sans nécessité d'images ...)....
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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

 Pourapprendretoujoursplus!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ben...


Nous voilà bien renseignés, là ....

Allez :

Mets donc ton code et commente-le... celà vaudra mieux.
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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.

 Pourapprendretoujoursplus!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
"la picturebox à partir de cette valeur n'affiche rien de ce que je mets dessus,"


C'est bien là le problème et ton gif ne nous apprend rien à ce propos !

Tu y mets quoi (et éventuellement dans quoi et comment) dessus ???
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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.

 Pourapprendretoujoursplus!
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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...

 Pourapprendretoujoursplus!
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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 ;-)  ))

 Pourapprendretoujoursplus!
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
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
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
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

 Pourapprendretoujoursplus!
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
à marche toujours ^^
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp