| Valeurs négatives pour TOP et LEFT | |
|
|
Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 3:13 | |
| Salut tout le monde Les valeurs données à TOP et à LEFT sont-elles relatives ou absolues ? Je ne savais pas qu’on pouvait donner des valeurs négatives à TOP et à LEFT. Lancez ce code ; utilisez les ascendeurs vertical et horizontal. Cliquez sur le bouton qui s’affiche(en 5000/5000). Réutilisez les ascenseurs dans le sens inverse : un autre bouton s’affiche (en -4560/-4520) - Code:
-
label suite button 1 : width 1,150 : top 1,5000 : left 1,5000 : caption 1,"hello 5000/5000" on_click 1,suite end
suite: button 2 : width 2, 150 :top 2,-4560 : left 2,-4520 : caption 2,"suite -4560/-4520" return
On peut, peut-être, tirer profit de cette constatation ou…. Vous la saviez déjà ? | |
|
| |
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 8:22 | |
| oui effectivement. Je ne connaissais pas mais il peut y avoir un interet !
En fait si j'ai bien compris la position est déterminé par les coordonées de l'écran : un left 1,0 et top 1,0 affiche toujours en haut a gauche de l'ecran quel que soit la position de l'ascenseur Maintenant un left 1,-100 et top 1,-100 ramene hors de l'ecran et permet de placé un objet plus haut et plus a gauche sur cette meme fenetre ! et l'utilisation de l'ascenseur permet donc de retrouver l'objet.
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 9:58 | |
| La signification des valeurs TOPet LEFT dépend de l'objet, et dépend aussi de la notion de "parent" de l'objet.
Pour une FORM: Normalement, TOP et LEFT sont les coordonnées absolues à l'écran, exprimées en pixels. Si la form est attachée à une autre avec la fonction SetFormParent de KGF.dll, ces coordonnées sont automatiquement considérées comme des coordonnées RELATIVES par rapport à la zone de visualisation de la form qui sert de parent.
Pour un objet visuel autre que FORM: Normalement, TOP et LEFT sont les coordonnées relatives à la zone de visualisation de la FORM contenant l'objet, exprimées en pixels. Si cet objet est attaché à un autre objet Panoramic par la commande PARENT, ces coordonnées sont automatiquement considérées comme des coordonnées relatives par rapport à la zone de visualisation de cet objet qui sert de parent (exemple: container, container_option).
En y regardant de plus près, on peut dire ceci: il s'agit TOUJOURS de coordonnées RELATIVES par rapport à la zone de visualisation de l'objet parent. Et dans le cas d'une FORM, l'objet parent par défaut est le bureau, sauf si cela a été modifié par la fonction SetFormParent.
Dernière édition par Klaus le Dim 26 Aoû 2012 - 10:52, édité 1 fois | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 10:42 | |
| Super clair Klaus Tu devrais faire des tutoriaux. Tu sais bien expliquer, mais n'en fait pas, ça mangerait du temps et du coup tu n'aurais pas le temps de faire tous les trucs que tu fais pour nous | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 11:02 | |
| Salut Klaus
C’est clair, net et précis.
| |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 13:39 | |
| Salut tout le monde. Pourquoi, dans ce code, les 2 premiers PRINT sont supprimés si on exécute la 2eme ligne - Code:
-
print " Salut" : print " tout" : print " le" : print " monde" ' button 1: top 1 ,300 : left 1,300 : caption 1,"bouton" print " !" print_locate 10,300 : print " hello"
Est-ce normal ou est-ce que j’ignore beaucoup plus que ce que je croyais ignorer | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 13:45 | |
| Savoir que l'on est ignorant est une preuve de sagesse qui permet d'apprendre et de progresser. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 13:53 | |
| Ce que tu imprimes par PRINT dans la form 0, se place directement dans le canvas de la form 0. Or, lorsque la form 0 est recouverte par autre chose (une autre fenêtre Windows, le presse-papier, n'importe quoi...) Windows doit redessiner la partie recouverte lorsqu'elle se libère. Et ceci n'est possible que s'il s'agit d'objets fenêtrées Windows, comme les boutons, les memos etc. Pour tout autre objet (tel que les alpha et des picture), c'est le programme application qui doit se charger de restituer l'image d'origine. C'est le moteur Panoramic qui s'en charge, car in connait ses alpha et picture. Seulement, le résultat des commandes PRINT ne tombe pas dans cette catégorie. C'est donc tout simplement oublié et pas réaffiché ! C'est différent avec le résultat d'un print dans un picture - là, c'est Panoramic qui restitue le picture correctement. C'est différent aussi si tu crées une autre form (form 1 par exemple), et tu fais des print dans cette form. Là encore, c'est resitué correctement. Et pourquoi dans ton exemple le texte est effacé ? Parce que lorsque tu donnes la commande BUTTON, Panoramic crée un bouton visible avec ses dimensions par défaut en position (0,0). Cela recouvre donc une partie de ton texte. Et lorsque tu déplaces le bouton en changeant les valeurs de TOP et Left ... tu vois le problème. Conseil: ne jamais imprimer directement dans la form 0 (sauf pour des besoins de tests), mais utiliser des alpha à la place, des mémos ou tout autre loyen persistant. Dailleurs, tu sais que tu peux faire des alpha multi-lignes ? - Code:
-
dim s$ s$ = "ligne 1" + chr$(13)+chr$(10) s$ = s$ + "Ligne 2"+chr$(13)+chr$(10)+chr$(10) s$ = s$ + "Ligne 4" alpha 1 : caption 1,s$ | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Valeurs négatives pour TOP et LEFT Dim 26 Aoû 2012 - 14:34 | |
| @klaus Juste après avoir posé la question, j’ai faisais appel à ma faculté d’analyse. (Hé oui, il m’arrive parfois de me sentir plus intelligent qu’Einstein, Gauss et Newton réunis !). Je suis arrivé à la même conclusion que la tienne. Lorsque le système rencontre la commande BUTTON, il crée ce bouton à l’endroit par défaut (coin supérieur gauche) puisqu’il ne connait pas encore ses propriétés (emplacement, taille, etc.). Ensuite il transfère le bouton à sa nouvelle position après avoir exécuté la commande suivante (TOP….) Il aurait été préférable de restituer le contenu de la fenêtre qui a été surchargée par le bouton. Pour vérifier ma théorie, j’ai inséré une commande WAIT 3000 juste après la déclaration du BUTTON - Code:
-
print " Salut" : print " tout" : print " le" : print " monde" button 1 : wait 3000 : top 1 ,300 : left 1,300 : caption 1,"bouton" print " !" print_locate 10,300 : print " hello"
| |
|
| |
Contenu sponsorisé
| Sujet: Re: Valeurs négatives pour TOP et LEFT | |
| |
|
| |
| Valeurs négatives pour TOP et LEFT | |
|