Exemple de ce que l'on peut faire avec une @window...
Source / Exemple :
; Dessinatech par WarDoWn (WapsNest)
; Utilisation: /dtech et dessinez! =P
alias dtech {
if ($window(@dtech)) { echo -s *** /dtech : En fonction }
else {
unset %pc , %pn , %pt , %pf
set %pn @Dtech | set %pf $rgb(255,255,255)
window -adChpkB +d %pn -1 -1 500 415
drawrect -r %pn $rgb(100,100,100) 1 0 0 500 415
drawrect -r %pn $rgb(0,0,0) 1 0 0 499 414
drawfill -r %pn $rgb(220,220,220) $color(background) 1 23
drawrect -r %pn $rgb(0,0,0) 1 0 0 499 22
drawfill -r %pn $rgb(200,200,200) $rgb(0,0,0) 1 1
drawtext -r %pn $rgb(0,0,0) verdana 16 4 2 Dessinatech, êtes-vous prêt à dessiner?
pb %pn 461 3 16 16
pb %pn 480 3 16 16
drawrect -r %pn $rgb(0,0,0) 1 5 26 490 350
drawfill -r %pn $rgb(255,255,255) $rgb(0,0,0) 6 27
drawrect -r %pn $rgb(0,0,0) 1 5 380 30 30
drawrect -fr %pn $rgb(255,0,0) 1 7 382 26 26
drawrect -r %pn $rgb(0,0,0) 1 38 380 30 30
drawrect -fr %pn $rgb(0,255,0) 1 40 382 26 26
drawrect -r %pn $rgb(0,0,0) 1 71 380 30 30
drawrect -fr %pn $rgb(0,0,255) 1 73 382 26 26
drawrect -r %pn $rgb(0,0,0) 1 108 380 30 30
drawrect -fr %pn %pf 1 110 382 26 26
pb %pn 187 382 100 26 Ouvrir
pb %pn 290 382 100 26 Nouveau
pb %pn 393 382 100 26 Sauvegarder
}
}
menu @dtech {
sclick:{
if ($pc(461,3,16,16)) { set %pc 461 3 16 16 | ppb }
if ($pc(480,3,16,16)) { set %pc 480 3 16 16 | ppb }
if ($pc(6,27,488,348)) { drawdot -r @dtech %pf 1 $mouse.x $mouse.y | set %pdr 1 }
if ($pc(5,382,26,26)) { set %pf $rgb(255,0,0) }
if ($pc(40,382,26,26)) { set %pf $rgb(0,255,0) }
if ($pc(73,382,26,26)) { set %pf $rgb(0,0,255) }
if ($pc(110,382,26,26)) { set %pf $rgb( [ $$?="Code RGB" ] ) | drawrect -fr %pn %pf 1 110 382 26 26 }
if ($pc(187,382,100,26)) { set %pc 187 382 100 26 | set %pt Ouvrir | ppb }
if ($pc(290,382,100,26)) { set %pc 290 382 100 26 | set %pt Nouveau | ppb }
if ($pc(393,382,100,26)) { set %pc 187 382 100 26 | set %pt Sauvegarder | ppb }
}
uclick:{
if ($pc(6,27,488,348)) && (%pdr) { unset %pdr }
if (%pc == 461 3 16 16) { pub | window -n @dtech }
if (%pc == 480 3 16 16) { pub | window -c @dtech }
if (%pc == 187 382 100 26) { pub | po }
if (%pc == 290 382 100 26) { pub | pn }
if (%pc == 393 382 100 26) { pub | ps }
}
mouse:{ if ($pc(6,27,488,348)) && (%pdr) { drawdot -r @dtech %pf 1 $mouse.x $mouse.y } }
leave:{ if ($pc(6,27,488,348)) && (%pdr) { unset %pdr } | if (%pc) { pub | unset %pc } }
Ouvrir:po
Nouveau:pn
Sauvegarder:ps
}
alias -l pc { return $inrect($mouse.x,$mouse.y,$1,$2,$3,$4) }
alias -l pb {
drawrect -r %pn $rgb(100,100,100) 1 $calc($2 + 1) $calc($3 + 1) $4-
drawrect -r %pn $rgb(0,0,0) 1 $2-
drawfill -r %pn $rgb(200,200,200) $rgb(0,0,0) $calc($2 + 1) $calc($3 + 1)
if ($6) { drawtext -r %pn $rgb(0,0,0) verdana 16 $calc($2 + 4) $calc($3 + 4) $6- }
}
alias -l ppb { drawrect -r %pn $rgb(40,40,40) 1 %pc | drawrect -r %pn $rgb(0,0,0) 1 $calc($gettok(%pc,1,32) + 1) $calc($gettok(%pc,2,32) + 1) $gettok(%pc,3,32) $gettok(%pc,4,32) }
alias -l pub {
drawrect -r %pn $rgb(100,100,100) 1 $calc($gettok(%pc,1,32) + 1) $calc($gettok(%pc,2,32) + 1) $gettok(%pc,3-,32)
drawrect -r %pn $rgb(0,0,0) 1 %pc
drawfill -r %pn $rgb(200,200,200) $rgb(0,0,0) $calc($gettok(%pc,1,32) + 1) $calc($gettok(%pc,2,32) + 1)
if (%pt) { drawtext -r %pn $rgb(0,0,0) verdana 16 $calc($gettok(%pc,1,32) + 4) $calc($gettok(%pc,2,32) + 4) %pt | unset %pt }
}
alias -l po { pn | var %a = $sfile(c:\,Dessin en format Bmp seulement...) | if ($right(%a,4-) == .bmp) { drawpic -s %pn 6 27 488 348 $shortfn(%a) } }
alias -l pn { drawrect -fr %pn $rgb(255,255,255) 1 6 27 488 348 }
alias -l ps { window -aChpkB +d @a -1 -1 488 348 | drawcopy %pn 6 27 488 348 @a 0 0 | drawsave @a $$?="Nom de l'image" | window -c @a }
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.