FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Tracer une grille n'importe où sur l'écran Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Tracer une grille n'importe où sur l'écran Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Tracer une grille n'importe où sur l'écran Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Tracer une grille n'importe où sur l'écran Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Tracer une grille n'importe où sur l'écran Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Tracer une grille n'importe où sur l'écran Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Tracer une grille n'importe où sur l'écran Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Tracer une grille n'importe où sur l'écran Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Tracer une grille n'importe où sur l'écran Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Tracer une grille n'importe où sur l'écran Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Tracer une grille n'importe où sur l'écran Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Tracer une grille n'importe où sur l'écran Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Tracer une grille n'importe où sur l'écran Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Tracer une grille n'importe où sur l'écran Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Tracer une grille n'importe où sur l'écran Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 Tracer une grille n'importe où sur l'écran

Aller en bas 
5 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptySam 18 Nov 2017 - 23:48

Donc sur tout l'écran Windows.
Ça peut servir pour superposer à une image ou une structure quelconque affichée, pour évaluation, mesures, etc..
Il faut définir préalablement la position en X,Y, la largeur et la hauteur de la grille, et son pas en pixels.
L'épaisseur du trait est implicitement de 1 pixel et sa couleur rouge, on peut le modifier dans l'appel à la sub (s/p Desgril).
Avec un exemple d'appel. Bouton 'OK' pour tracer la grille définie, bouton 'Raz' pour effacer la grille existante et en créer une autre, pour ajustage.
Code:
' Tracer une grille n'importe où sur l'écran
LABEL Chc,Desgril
DIM x%,y%,w%,h%,e%,r%,g%,b%,rgb%,pas%,i%,a$
BORDER_SMALL 0: i% = WIDTH(0)-WIDTH_CLIENT(0): WIDTH 0,i%+365
i% = HEIGHT(0)-HEIGHT_CLIENT(0): HEIGHT 0,i%+56
FONT_NAME 0,"Lucida Console": FONT_SIZE 0,10
CAPTION 0,"  -  GRILLE  SUR  L' ÉCRAN  -": COLOR 0,164,255,255
a$ = "X=      Y=      W=      H="+CHR$(10)+CHR$(10)+"pas=    et="
ALPHA 1: TOP 1,5: CAPTION 1,a$: FONT_BOLD 1
i% = 21: ' position X, position Y, largeur, hauteur, pas, épaisseur trait
SPIN 2: TOP 2,TOP(1)-2: LEFT 2,i%: WIDTH 2,60
SPIN 3: TOP 3,TOP(2): LEFT 3,LEFT(2)+WIDTH(2)+i%: WIDTH 3,WIDTH(2)
SPIN 4: TOP 4,TOP(2): LEFT 4,LEFT(3)+WIDTH(3)+i%: WIDTH 4,WIDTH(2)
SPIN 5: TOP 5,TOP(2): LEFT 5,LEFT(4)+WIDTH(4)+i%: WIDTH 5,WIDTH(2)
SPIN 6: TOP 6,TOP(2)+27: LEFT 6,LEFT(2)+16: WIDTH 6,WIDTH(2)-15: POSITION 6,25
SPIN 7: TOP 7,TOP(6): LEFT 7,LEFT(6)+WIDTH(6)+i%+6: WIDTH 7,40: POSITION 7,1
BUTTON 10: TOP 10,3: WIDTH 10,34: HEIGHT 10,50: LEFT 10,LEFT(5)+63
  FONT_SIZE 10,12: CAPTION 10,"OK": ON_CLICK 10,Desgril
PICTURE 11: TOP 11,TOP(6)+3: LEFT 11,LEFT(7)+WIDTH(7)+5: WIDTH 11,42: HEIGHT 11,15
  COLOR 11,255,0,0: ' couleur active
PICTURE 12: TOP 12,TOP(11)-4: LEFT 12,LEFT(11)+WIDTH(11)+4: WIDTH 12,122
  HEIGHT 12,25: ON_CLICK 12,Chc: 2D_TARGET_IS 12: ' palette de 6 couleurs
  FOR i% = 0 TO 5
      SELECT i%
          CASE 0: 2D_FILL_COLOR 0,0,0: ' noir
          CASE 1: 2D_FILL_COLOR 255,255,255: ' blanc
          CASE 2: 2D_FILL_COLOR 255,0,0: ' rouge
          CASE 3: 2D_FILL_COLOR 0,255,0: ' vert
          CASE 4: 2D_FILL_COLOR 0,0,255: ' bleu
          CASE 5: 2D_FILL_COLOR 255,255,0: ' jaune
      END_SELECT
      x% = i%*20: 2D_RECTANGLE x%,0,x%+22,24
  NEXT i%
END
' ==============================================================================
Chc:
  ' Choix couleur de trait
  x% = MOUSE_X_LEFT_DOWN(12): y% = MOUSE_Y_LEFT_DOWN(12)
  r% = COLOR_PIXEL_RED(12,x%,y%): g% = COLOR_PIXEL_GREEN(12,x%,y%)
  b% = COLOR_PIXEL_BLUE(12,x%,y%): COLOR 11,r%,g%,b%
RETURN
' ==============================================================================
Desgril:
  x% = POSITION(2): y% = POSITION(3): w% = POSITION(4): h% = POSITION(5)
  IF w%<=0 OR h%<=0 THEN RETURN
  pas% = POSITION(6): ' pas de la grille, en pixels
  e% = POSITION(7): ' épaisseur traits en pixels
  r% = COLOR_PIXEL_RED(11,5,5): g% = COLOR_PIXEL_GREEN(11,5,5)
  b% = COLOR_PIXEL_BLUE(11,5,5): rgb% = r%*65536 + g%*256 + b%: ' couleur grille
  Grille_Form(x%,y%,w%,h%,pas%,e%,rgb%)
RETURN
' ==============================================================================
SUB Grille_Form(x%,y%,w%,h%,pas%,e%,rgb%)
  ' Tracé d'une grille sur un emplacement quelconque de l'écran en x%,y%,
  ' dimensions w% x h%, pas pas% pixels, épaisseur trait e%, couleur trait rgb%
  ' (= 65536*R + 256*G + B)
  DIM_LOCAL f%,r%,g%,b%,i%
  IF w%<=0 OR h%<=0 THEN EXIT_SUB
  IF VARIABLE("fdeb%") = 0 THEN DIM fdeb%
  IF VARIABLE("ffin%") = 0 THEN DIM ffin%
  IF fdeb%>0 AND ffin%>0: ' suppression préalable d'une grille préexistante
      FOR i% = fdeb% TO ffin%
          IF OBJECT_EXISTS(i%) > 0 THEN DELETE i%
      NEXT i%
  END_IF
  IF (x%+w%) > SCREEN_X THEN w% = SCREEN_X-x%: ' limité à l'écran
  IF (y%+h%) > SCREEN_Y THEN h% = SCREEN_Y-y%: ' idem
  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 pas%: ' lignes verticales ( 1 Form par ligne)
      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 pas%: ' lignes horizontales ( 1 Form par ligne)
      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%: ' affichage de l'ensemble
  ffin% = f% : ' dernier Form créé (pour raz ultérieur éventuel)
END_SUB
' ==============================================================================
Pour info, chaque trait est un Form individuel. Le bouton Raz delete ces Forms, tout simplement.
On peut évidemment déplacer la fenêtre panoramic (Form 0) si elle est dans la zone stratégique.

19/ petite modif dans la sub. C'est elle qui gère la suppression éventuelle de la grille déjà existante avant de tracer la nouvelle, c'est indépendant du programme appelant.
+ suite à une demande pressante (si si) de Minibug, ajout du choix de couleur et épaisseur
Tracer une grille n'importe où sur l'écran Clip10


Dernière édition par JL35 le Dim 19 Nov 2017 - 20:36, édité 5 fois
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2397
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 1:14

Salut JL35 !

Testé avec succès !
Original et astucieux !
Effectivement, c'est très utile pour apprécier des dimensions.
Merci pour l'idée et le partage !

Spoiler:
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 1:57

Salut JL35

Comme Mark 37 a tout dit, il n'y a rien à ajouter, sauf ...

Tracer une grille n'importe où sur l'écran Text1356
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 9:42

Merci les gars !
J'ajoute, mais c'est évident (ce sont des Form panoramic) que la grille s'efface automatiquement quand on quitte le programme.
J'ai quelques petites modifs, mais pas stratégiques, on verra plus tard.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 11:34

Salut JL35 !

L'idée est excellente... il suffisait d'y penser ! Wink

Juste une remarque : Peut être avoir la possibilité de changer la couleur mais bon c'est un détail.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 12:58

Bonjour Minibug,

Le programme appelant est juste un exemple vite fait, mais la couleur et l'épaisseur du trait font partie des paramètres d'appel de la sub, alors évidemment on peut les moduler depuis l'appel.
C'est vrai j'aurais pu mettre une palette de couleurs dans l'appelant et un choix de trait, mais c'est facile à ajouter.
Effectivement, moduler la couleur de la grille peut être utile pour le contraste, ça dépend de la couleur du fond.

J'ai modifié là-haut en supprimant le bouton 'Raz',  c'est la sub elle-même qui gère l'effacement de la grille précédente éventuelle avant de tracer la nouvelle.

Bon, Minibug, spécialement pour toi, j'ai ajouté une petite palette de 6 couleurs et le choix de l'épaisseur du trait.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 14:08

De mon coté, j'ai un souci, la grille ne s'affiche pas entièrement Question
En regardant le code, je ne vois pas pourquoi.

@Jl35,
Tu as déjà fait ceci => https://panoramic.1fr1.net/t4801-une-grille-sur-l-ecran?highlight=grille

Et là ça marche chez moi. Exclamation Question

A+
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 14:37

Mince alors Jean Claude, je crois bien que j'ai réinventé l'eau chaude...
Et c'était il y a 1 ans 1/2 seulement, je ne m'en souvenais plus ! mes neurones se dégradent (et s'il te plait, ne prends pas la peine de me dire que c'est normal à mon âge)...

Tu dis que ta grille ne s'affiche pas entièrement... c'est normal si la largeur et la hauteur fournis ne sont pas des multiples du pas de la grille, dans ce cas il manque la dernière ligne (en dehors des dimensions données).
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 15:38

JL35 a écrit:
suite à une demande pressante (si si) de Minibug, ajout du choix de couleur et épaisseur

Bon et bien si tu le dit je te crois...
Mais pour moi, c'était plutôt un envie (...) qu'une demande ! Laughing Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 15:49

Envie ou demande... ça revient au même (dans la mesure où je sais comment faire !) Very Happy

@Jean Claude,
concernant la grille incomplète, regarde le spoiler de Marc 37, au début du post:
grille de 500 au pas de 40, manquent 20 pixels pour faire 13 colonnes de 40 (ou 20 pixels de trop pour 12 colonnes).
A mon avis ce n'est peut-être pas esthétique, mais ce n'est pas gênant.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 17:14

Oui JL35, je suis d'accord avec toi sauf que...
...Un demande pressante ou une envie pressante c'est pas tout a fait pareil non ?! Laughing rendeer geek
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 17:21

là aussi je sais comment faire...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 19:52

C'est là qu'on peut voir comment je suis bon en math, je n'ai même pas pensé que la largeur et la hauteur devaient être multiple du pas. Embarassed Ce n'est pas que mes neurones se détraquent, c'est plutôt qu'i il m'en manque. Very Happy

Pour une bonne visualisation de l'interface, sous W8.1, il faut mettre la hauteur de FORM 0 à 95 (HEIGHT 0,95), sinon il y a une barre de défilement qui en masque une partie.

A+



Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran EmptyDim 19 Nov 2017 - 20:14

Ce n'est obligatoire que si on veut que la grille soit fermée (ça évite les courants d'air).
Quant aux dimensions du Form 0, tu as raison évidemment, je suis sous W7, je le fais au pif mais je devrais toujours me baser sur Width_Client(0) et Height_Client(0) pour automatiser pour les autres versions. Mea culpa.

PS je viens de l'ajouter là-haut, ça devrait s'ajuster automatiquement maintenant, quel que soit l'OS Windows.
Revenir en haut Aller en bas
Contenu sponsorisé





Tracer une grille n'importe où sur l'écran Empty
MessageSujet: Re: Tracer une grille n'importe où sur l'écran   Tracer une grille n'importe où sur l'écran Empty

Revenir en haut Aller en bas
 
Tracer une grille n'importe où sur l'écran
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Grille sur le bureau
» Tracer un rectangle sur tout l'écran
» Une grille d'un nouveau (?) genre
» Une grille sur l'écran
» Grille d'Edit

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: