stracoma | #1 Posté le 26/8/2015 à 23:17:05 |
---|
Apprentissage programmation pour le plaisir | Bonsoir à vous tous. J'ai un soucis avec un petit programme dont le principe est: j'ai une fenêtre où il y a un panel. Le panel doit augmenter de taille progressivement jusqu'à arrêt à une taille précise. Quant je déclenche le processus avec un bouton, tout va bien :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| PUBLIC SUB Form_Open()
ME.Top = 100 ME.Left = 100 Panel1.Width = 0 Panel1.Height = 0 Panel1.top = 0 Panel1.Left = 0 Panel1.Background = Color.Red
END
PUBLIC SUB Button1_Click() DIM x AS INTEGER = 0 DO WHILE x < 200 x = x + 1 Panel1.Height = x Panel1.Width = x WAIT 0.02 LOOP
END
|
Le problème c'est quand je ne veut pas utiliser de bouton, je veut déclencher le processus à l'ouverture de la fenêtre:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| PUBLIC SUB Form_Open() DIM x AS INTEGER = 0 Panel1.Background = Color.Red ME.Top = 100 ME.Left = 100 Panel1.Width = 0 Panel1.Height = 0 Panel1.top = 0 Panel1.Left = 0 DO WHILE x < 200 x = x + 1 Panel1.Height = x Panel1.Width = x WAIT 0.02 LOOP
END
|
Dans ce cas le programme s'exécute mais la fenêtre n’apparaît qu'à la fin du programme. Merci SVP patience avec moi car neurones > 50 ans |
vuott | #2 Posté le 27/8/2015 à 00:10:19 |
---|
Ne cedere ineluctabili possimus | Bonsoir stracoma,
......you have to impose Form opening !
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| PUBLIC SUB Form_Open()
DIM x AS INTEGER = 0
Panel1.Background = Color.Red
WITH ME .Top = 100 .Left = 100 .Show ' <--------- ...fenestram extendi iubet ! END WITH
Panel1.Width = 0 Panel1.Height = 0 Panel1.top = 0 Panel1.Left = 0 DO WHILE x < 200 x = x + 1 Panel1.Height = x Panel1.Width = x WAIT 0.02 LOOP
END
|
« Vita non suavis esse potest, nec Mors amara. » |
stracoma | #3 Posté le 27/8/2015 à 00:47:07 |
---|
Apprentissage programmation pour le plaisir | Merci vuott. Avec Me.show ça marche. Je viens aussi de découvrir la commande With:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| PUBLIC SUB Form_Open() DIM x AS INTEGER = 0
WITH ME .Show .top = 100 .Left = 100 END WITH WITH Panel1 .Background = Color.Red .Width = 0 .Height = 0 .top = 0 .Left = 0 END WITH
DO WHILE x < 200 x = x + 1 Panel1.Height = x Panel1.Width = x WAIT 0.02 LOOP
END
|
une autre fois merciSVP patience avec moi car neurones > 50 ans |
stracoma | #4 Posté le 27/8/2015 à 01:15:42 |
---|
Apprentissage programmation pour le plaisir | C'est encore plus beau en allant du centre jusqu'à occuper toute la fenêtre:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| PUBLIC SUB Form_Open() DIM n AS INTEGER = 0
WITH ME .Show .top = 100 .Left = 100 .Height = 600 .Width = 600 END WITH WITH Panel1 .Background = Color.Red .Width = 0 .Height = 0 .top = ME.Height / 2 .Left = ME.Width / 2 END WITH DO WHILE n < ME.Height n = n + 2 WITH Panel1 .Height = n .Width = n .top = Panel1.top - 1 .Left = Panel1.Left - 1 END WITH WAIT 0.01 LOOP
END
|
Je dois encore l'améliorer pour faire des aller_retoursSVP patience avec moi car neurones > 50 ans |
vuott | #5 Posté le 27/8/2015 à 15:56:34 |
---|
Ne cedere ineluctabili possimus | Je viens aussi de découvrir la commande With
« Vita non suavis esse potest, nec Mors amara. » |