Problémes avec form_load() - VB/VBA/VBS - Programmation
Marsh Posté le 09-07-2002 à 19:24:12
tu peux être plus clair, indiquer les controles que tu utilises et à quoi corresponds l'objet "Cuve7", ça serait plus clair
Marsh Posté le 09-07-2002 à 19:51:50
cuve7 est le nom de la form (dans l'option form_load())
et j'utlise juste un tableau déclarez comme une variable ( dim conversion (2,2) as variant )
Marsh Posté le 09-07-2002 à 20:24:26
les méthode form.print, form.CurrentX et form.CurrentY n'existent pas en VB...
Marsh Posté le 10-07-2002 à 08:48:21
Ces méthodes existent. Si j'écris ce code sur un bouton de commande , quand je clique dessus j'ai les valeurs qui apparaissent. Mais j'aimerais que ces valeurs ce charge automatiquement avec la feuille
Marsh Posté le 10-07-2002 à 09:02:37
on a retrouvé un nouveau foromeur qui est incapable de s'expliquer
Marsh Posté le 10-07-2002 à 09:55:45
Toomslegrand a écrit a écrit : Ces méthodes existent. Si j'écris ce code sur un bouton de commande , quand je clique dessus j'ai les valeurs qui apparaissent. Mais j'aimerais que ces valeurs ce charge automatiquement avec la feuille |
si tu veux charger du code c'est dans l'évenement Form_load de la feuille :
Code :
|
Code :
|
aprés tu as les propriétés des objet qui varient des uns des autres et des feuilles...les propriété suivante :
Code :
|
existe, c'est vrai dans les propriété d'une feuille, mais tu as du mettre les mauvaise valeur...essaye de le mettre dans l'évenement activate de la feuille et mets des points d'arrêt, (les ronds rouge)...
Marsh Posté le 10-07-2002 à 10:10:16
Toomslegrand a écrit a écrit : Ces méthodes existent. Si j'écris ce code sur un bouton de commande , quand je clique dessus j'ai les valeurs qui apparaissent. Mais j'aimerais que ces valeurs ce charge automatiquement avec la feuille |
Je me suis gourré, currentx et currenty existent, mais pas print.
en fait, je ne comprends pas ce que tu veux faire et a quoi te sers currentX et currentY
Marsh Posté le 10-07-2002 à 10:24:26
Pour positionner la feuille (ou les contrôles), il y a (de mémoire) .left, .rignt, .top, .bottom ....
Marsh Posté le 10-07-2002 à 11:10:44
carbon_14 a écrit a écrit : Pour positionner la feuille (ou les contrôles), il y a (de mémoire) .left, .rignt, .top, .bottom .... |
Je confirme, t'as une bonne mémoire ! Il lui manquera tous simplement la gestions des résolutions d'écran...c'est trop long à expliquer !
Marsh Posté le 10-07-2002 à 13:35:34
S'il fait ça pour une résolution "fixe", si des zones de texte sont déplacées où il faut, il faudrait un "array" de 21 contrôles pour faire
For x% = 0 To 20
Cuve7[x%].left = ...
Cuve7[x%].top = ...
Cuve7[x%].bottom = ...
Cuve7[x%].right = ...
Cuve7[x%].Text = str$(x%) (ou .Label selon le type d'objet)
Next x%
Marsh Posté le 10-07-2002 à 13:52:15
c'est un peu plus compliqué que ca !
a = screen.height
b = screen.width
Code :
|
Voilà en gros le code, il suffit de l'adapter un peu, et de placer les calcul dans des fonctions...
nb : je l'ai fait de tête donc, il se peut qu'il contiennent des erreurs...autrement allez voir sur www.vbfrance.com, il doit s'y trouver...
Marsh Posté le 10-07-2002 à 14:04:49
Toomslegrand a écrit a écrit : J'ai une feuile principale a partir de laquelle je fait toutes mes selections et une autre page sur laquelle j'aimerais mettr u tableu dans lequel les options de la 1° page piocheraient les valeurs. Seulement rien n'apprait sur la 2° page quand je lance le programme. dites moi si les lignes de code sont coreects Private Sub Form_Load() For x = 0 To 20 Cuve7.CurrentX = 840 Cuve7.CurrentY = 240 + 240 * x Cuve7.Print x Next x End Sub Merci d'avance |
Ca ne s'affiche pas car la propriété AutoRedraw de ta Form est à False. Met à True, et ca devrait être bon.
Marsh Posté le 14-07-2002 à 05:58:12
Toomslegrand
Si je ne m'abuses, tu affectes:
-21 fois la même valeur à Cuve7.CurrentX
-21 fois des valeurs différentes à Cuve7.CurrentY, seule la dernière restant.
Est-ce là le but recherché ?
macray
J'ai pas compris le but de ton code.
Avoir une taille fixe par rapport à l'écran ?
Marsh Posté le 14-07-2002 à 08:29:22
[citation][nom]musaran a écrit[/nom]Toomslegrand
Il est simple ! essaye de faire une application pleine écran, avec des objets en 1024x768, tu passe ton écran ensuite en 640x480, et tu regarde...! tu veras, que tes objet sont restés à la même taille, ainsi que les dimensions de ta feuille...Ca fait l'effet d'un écran trop petit !!!
Ce n'est pas ce que tu veux ? le seul moyen d'y remédier c'est de faire le code que j'ai mis, à savoir un code, pour redimenssionner automatiquement tous les objets, et avoir une application qui rentre en l'occurence sous 640x480...!! c'est valable pour toutes les résolutions d'écrans...
Marsh Posté le 16-07-2002 à 01:59:20
Je croyais qu'on pouvait faire plus simple avec ScaleMode=0, ScaleWidth et ScaleHeight.
Mais non, les contrôles ne se déplacent pas, contrairement à ce que la doc laisse croire.
Personellement, j'écrirais ça:
|
Toomslegrand
J'ai dit une bêtise parceque j'avais pas pigé.
Les commandes de dessin devraient être placées dans "Form_Paint", parceque les dessins n'étant pas des objets, ils ne sont pas automatiquement redessinés.
S'ils sont dessinés avant que la Form ne soit visible, c'est un coup pour rien...
|
Cela dit, Print avance CurrentY automatiquement pour le Print suivante.
Marsh Posté le 09-07-2002 à 18:53:02
J'ai une feuile principale a partir de laquelle je fait toutes mes selections et une autre page sur laquelle j'aimerais mettr u tableu dans lequel les options de la 1° page piocheraient les valeurs. Seulement rien n'apprait sur la 2° page quand je lance le programme. dites moi si les lignes de code sont coreects
Private Sub Form_Load()
For x = 0 To 20
Cuve7.CurrentX = 840
Cuve7.CurrentY = 240 + 240 * x
Cuve7.Print x
Next x
End Sub
Merci d'avance