cs_AlexMAN
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
1
14 juil. 2004 à 18:24
Enfin, regarde le code, rien que pour créer les controles, jtrouve ca enorme (c de l'asm mais bon), j'ai pas encore remplacé l'invoke par un call, ca va se faire :
;Creation des controles en faisant une boucle;
mov x, 50
mov i, 0
mov esi, offset hwndNum
;mov edi, offset hwndOp
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
prem:
invoke dwtoa, i, addr buf
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR buf, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, x, 50, 30, 30, \
hwnd, NULL, hInst, NULL
mov [esi], eax
add esi, 4
add x, 30
inc i
cmp i, 3
jb prem
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR Plus, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, x, 50, 30, 30, \
hwnd, NULL, hInst, NULL
;mov [edi], eax
;add edi, 4
mov x, 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
sec:
invoke dwtoa, i, addr buf
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR buf, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, x, 80, 30, 30, \
hwnd, NULL, hInst, NULL
mov [esi], eax
add esi, 4
add x, 30
inc i
cmp i, 6
jb sec
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR Moins, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, x, 80, 30, 30, \
hwnd, NULL, hInst, NULL
;mov [edi], eax
;add edi, 4
mov x, 50
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
trois:
invoke dwtoa, i, addr buf
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR buf, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, x, 110, 30, 30, \
hwnd, NULL, hInst, NULL
mov [esi], eax
add esi, 4
add x, 30
inc i
cmp i, 9
jb trois
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR Divi, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, 140, 110, 30, 30, \
hwnd, NULL, hInst, NULL
;mov [edi], eax
;add edi, 4
mov i, 0
invoke dwtoa, i, addr buf
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR buf , \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, 80, 140, 30, 30, \
hwnd, NULL, hInst, NULL
mov [esi], eax
INVOKE CreateWindowEx, NULL, ADDR ClassButton, ADDR Mult, \
WS_CHILD or WS_VISIBLE or BS_DEFPUSHBUTTON, 140, 140, 30, 30, \
hwnd, NULL, hInst, NULL
;mov [edi], eax
Je voulais me servir de edi pour stocker l'adresse de mon 2eme tableau, mais ya erreur, kel registre (otre ke esi) je peu utiliser pour faire ca ?