| Centrer une fenetre à l'écran | |
|
|
Auteur | Message |
---|
thefrog
Nombre de messages : 4 Date d'inscription : 07/07/2009
| Sujet: Centrer une fenetre à l'écran Mer 14 Oct 2009 - 0:52 | |
| Bonjour,
Je n'arrive pas a centrer un FORM à l'écran. Y a-t-il un moyen de connaitre la résolution de l'écran ?
Merci | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Mer 14 Oct 2009 - 19:48 | |
| salut à tous thefrog, voici un exemple de code pour centrer une fenetre - Code:
-
dim h,l,x,y full_space 0 h = height(0) l = width(0) hide 0 form 1 caption 1,"Centrage du FORM 1" height 1,350 width 1,450 x = (l-450)/2 y = (h-350)/2 top 1,y left 1,x
Georges @+
| |
|
| |
thefrog
Nombre de messages : 4 Date d'inscription : 07/07/2009
| Sujet: Re: Centrer une fenetre à l'écran Mer 14 Oct 2009 - 20:18 | |
| | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Centrer une fenetre à l'écran Mer 14 Oct 2009 - 20:52 | |
| Pas bête, Georges, pour connaître la définition de l'écran... | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Jeu 15 Oct 2009 - 13:26 | |
| | |
|
| |
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Autre formule Sam 17 Oct 2009 - 15:57 | |
| Je tiens à féliciter Georges pour son astuce qui évite d'aller chercher l'info sur la taille de l'écran dans les méandres des fichiers Windows. Si je puis me permettre de mettre mon grain de sel, je ferais remarquer qu'il est dommage de devoir passer par une Form1 à utiliser en guise de Form0 (qui devient hide). D'ailleurs, c'est pour cela qu'une fois exécuté et arrêté, le programme présenté plus haut abouti à rendre inactive la possibilité de faire une nouvelle exécution. C'est parce que la Form0 est toujours hide et n'est pas arrêtée. On peut toujours modifier le programme de façon à la faire réapparaître avant d'arrêter, mais c'est un peu compliqué. Il est donc plus simple de mettre plutôt la Form0 au milieu de l'écran. Je me suis donc creusé la tête pour trouver le moyen d'annuler le full_space 0 en partant de la formule de Georges, et c'est finalement très simple. Cela faisait longtemps que je cherchais un moyen simple de mettre la fenêtre au milieu indépendamment de la taille de l'écran. Je ne sais plus qui a dit qu'on était plus intelligent quand on était plusieurs. - Code:
-
rem Détect-taill-écran dim l , h caption 0,"Form 0" full_space 0 l=width(0) h=height(0) width 0,450 height 0,350 l=(l-450)/2 h=(h-350)/2 top 0,h left 0,l | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Lun 19 Oct 2009 - 15:00 | |
| salut à tous en effet jjn4, il n'était pas nécessaire de faire appel à un FORM 1. Par contre j'aimerais trouver une solution pour vérouiller les dimensions d'une fenêtre une fois dimensionnée sans passer par border_hide qui à la facheuse tendance à faire disparaitre le bandeau de tête. Avez-vous une astuce ? georges @+ | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Centrer une fenetre à l'écran Lun 19 Oct 2009 - 17:20 | |
| Merci à tous les deux pour la combine. A+ | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Centrer une fenetre à l'écran Lun 19 Oct 2009 - 18:57 | |
| Je me suis permis de modifier un peu, de façon a n'avoir que 2 données à changer pour dimensonner le FORM. Voici le code: - Code:
-
dim l,h,left%,top%,width%,height%
caption 0,"FORM à centrage Automarique " full_space 0:l=width(0):h=height(0)
width%=400:height%=400: rem <<<<<<<<< c'est ici qu'on dimensionne la fenêtre
width 0,width%:height 0,height% left%=(l-width%)/2:top%=(h-height%)/2:top 0,top%:left 0,left%
color 0,150,240,255:font_name 0,"Fixedsys"
end
Cela marche si on ne depasse pas les dimensions de l'ecran A+ | |
|
| |
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Centrer une fenetre à l'écran Lun 19 Oct 2009 - 19:13 | |
| Ce que vous avez fait pour trouver les dimensions de l'écran (fonctions width() et height() sur la fenêtre en full_space) est particulièrement astucieux. - Citation :
- Y a-t-il un moyen de connaitre la résolution de l'écran ?
Pour vous aider, je viens de faire une nouvelle versions instantanée (du 19 octobre 2009) qui possède 2 variables système supplémentaires donnant la résolution de l'écran : SCREEN_X
Cette variable système retourne la largeur de l'écran exprimée en pixels. SCREEN_YCette variable système retourne la hauteur de l'écran exprimée en pixels. exemple d'utilisation: - Code:
-
print "largeur ";screen_x print "hauteur ";screen_y | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Centrer une fenetre à l'écran Lun 19 Oct 2009 - 20:30 | |
| Bravo à Jack,
cà évolu à la vitesse grand V.
C'est clair qu'en connaissant la taille de l'écran, mon dernier code pourra passer partout.
Merci, A+ | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Centrer une fenetre à l'écran Mar 20 Oct 2009 - 8:39 | |
| et voila ce que cà donne, avec SCREEN - Code:
-
dim x,y,left%,top%,width%,height%
x=screen_x:y=screen_y:caption 0," FORM à Centrage Automatique " color 0,150,240,255:font_name 0,"Fixedsys" width%=500:height%=500: ' <<<<<<<<<<<<<<< Règlage de la largeur et de la hauteur width 0,width%:left%=(x-width%)/2:left 0,left% height 0,height%:top%=(y-height%)/2:top 0,top%
print "Largeur écran ";x:print "Hauteur écran ";y
end
A+
Dernière édition par Jean Claude le Mar 20 Oct 2009 - 14:40, édité 2 fois | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Mar 20 Oct 2009 - 13:33 | |
| salut à tous
question à Jack. En essayant le code de Jean-Claude, je reduis la fenêtre.(avec le "-") Quand je la remet à l'écran. Les écritures ont disparues. Y-a-t-il un moyen de stabiliser l'écriture des "PRINT" et des "INPUT" sur un FORM sans passer par un picture ou autre?
Georges @+ | |
|
| |
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: Réponse Jeu 29 Oct 2009 - 13:09 | |
| Sans passer par un picture, je ne crois pas. Par contre, on peut faire passer un picture pour une form. (mais je n'ai pas réussi à égaliser la couleur) exemple : - Code:
-
rem DÉMO-PRINT-INDÉLÉBILE
label msg
left 0,200 : top 0,100 : width 0,500 : height 0,300 caption 0,"DÉMONSTRATION DE PRINT NE S'EFFACANT PAS"
picture 1 left 1,0 : top 1,0 : width 1,492 : height 1,266 color 1,237,233,214
button 2 left 2,70 : top 2,160 : width 2,350 caption 2,"2) Cliquez ici pour voir si un bableau placé au dessus efface les print" on_click 2,msg
2d_target_is 1 2d_line 300,100,425,2 print_target_is 1 print_locate 200,105 print " 1) Minimisez ce tableau pour voir si je m'efface " print_locate 40,220 print " Par contre, je ne sais pas comment mettre le fond de ces print de la bonne couleur " end
msg: message "Promenez ce tableau au dessus des print" return
(on peut aussi utiliser des alpha qui eux ne s'effacent pas à la minimisation ni au passage d'une autre fenêtre au dessus, et comme maintenant, on peut en mettre une infinité, c'est tout de même plus pratique que les print) | |
|
| |
Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Jeu 29 Oct 2009 - 14:07 | |
| salut ça fait beaucoup de ligne de prog pour afficher 2 lignes indélébiles. C'est dommage, le fond du picture ne reste pas à l'affichage des print. Y-a-t'il une solution pour y remédier? A vous... Georges @+ | |
|
| |
Contenu sponsorisé
| Sujet: Re: Centrer une fenetre à l'écran | |
| |
|
| |
| Centrer une fenetre à l'écran | |
|