JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Grille sur le bureau Dim 6 Aoû 2023 - 16:36 | |
| Encore un gadget d'une utilité discutable, mais bon, c'est les vacances. Le but est de dessiner une grille d'encadrement de toutes les icônes du bureau Windows. En fonction de l'écran il faudra donc adapter les dimensions occupées par une icône, en pixels (w et h) ainsi que le nombre de colonnes et de rangées d'icônes sur l'écran (nc et nr). Pour effacer le tout il suffit de cliquer sur la fenêtre du programme, peinte en rouge. - Code:
-
' Gril_Bureau.bas Encadrement des icônes du bureau dans une grille LABEL Fin: DIM w,h,nc,nr,wt,ht,rgb w = 96: h = 106: ' dimensions 1 case icône bureau (A ADAPTER) nc = 20: nr = 11: ' nb d'icônes H et V (IDEM) BORDER_SMALL 0: WIDTH 0,w: HEIGHT 0,h/2: TOP 0,2*h+h/4: LEFT 0,2*w COLOR 0,255,0,0: CAPTION 0,"BUREAU": ON_CLICK 0,Fin ' (positionnement arbitraire de la fenêtre, par ex. case sans icône) wt = nc*w: ht = nr*h: ' dimensions totales rgb = 16776960: ' couleur des cases de la grille (jaune) Grille_Form(0,0,wt,ht,nc,nr,1,rgb) END Fin: TERMINATE ' ============================================================================= SUB Grille_Form(x%,y%,w%,h%,nc%,nr%,e%,rgb%) ' Tracé d'une grille en x%,y% de l'écran total ' dimensions totales w% x h%, nc% colonnes, nr% rangées, ' épaisseur trait e%, couleur trait rgb% (= 65536*R + 256*G + B) DIM_LOCAL f1%,f%,r%,g%,b%,i%,pasx%,pasy% IF VARIABLE("fdeb%") = 0 THEN DIM fdeb% IF VARIABLE("ffin%") = 0 THEN DIM ffin% IF fdeb%>0 AND ffin%>0 FOR i% = fdeb% TO ffin% IF OBJECT_EXISTS(i%) > 0 THEN DELETE i% NEXT i% END_IF pasx% = w%/nc%: pasy% = h%/nr% IF w%<=0 OR h%<=0 THEN EXIT_SUB IF (x%+w%) > SCREEN_X THEN w% = SCREEN_X-x% IF (y%+h%) > SCREEN_Y THEN h% = SCREEN_Y-y% r% = INT(rgb%/65536): g% = BIN_AND(rgb%,65280)/256: b% = BIN_AND(rgb%,255) fdeb% = 9700: f% = fdeb%-1 FOR i% = x% TO x%+w% STEP pasx% f% = f%+1: WHILE OBJECT_EXISTS(f%)=1: f% = f%+1: END_WHILE FORM f%: HIDE f%: COLOR f%,r%,g%,b%: BORDER_HIDE f% TOP f%,y%: LEFT f%,i%-e%/2: WIDTH f%,e%: HEIGHT f%,h% NEXT i% FOR i% = y% TO y%+h% STEP pasy% f% = f%+1: WHILE OBJECT_EXISTS(f%)=1: f% = f%+1: END_WHILE FORM f%: HIDE f%: COLOR f%,r%,g%,b%: BORDER_HIDE f% TOP f%,i%-e%/2: LEFT f%,x%: WIDTH f%,w%: HEIGHT f%,e% NEXT i% FOR i% = fdeb% TO f%: SHOW i%: NEXT i% ffin% = f% : ' 1er et dernier Form créés (pour raz) END_SUB ' ============================================================================= | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Re: Grille sur le bureau Lun 7 Aoû 2023 - 15:23 | |
| Ouh, voilà qui est bien rangé !!! Bravo, JL35, comme toujours ! | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Grille sur le bureau Lun 7 Aoû 2023 - 19:09 | |
| | |
|
Contenu sponsorisé
| Sujet: Re: Grille sur le bureau | |
| |
|