PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Re-centrer une fenêtre
Re-centrer une fenêtre
Débuté par Yann Métrailler, 02 mai 2006 19:15 - 5 réponses
Posté le 02 mai 2006 - 19:15
Bonjour,

Dans l'application que je suis en train de faire, j'utilise une fenêtre fille qui contient un champ image pour afficher des photos. Bien sûr, elles n'ont pas toujours les même dimensions, et je redimensionne la fenêtre et le champ image à l'ouverture de la fenêtre.

Tout cela marche très bien, seulement que la fenêtre n'est plus centrée par rapport à la fenêtre mère, comme configuré dans les options. Je veux donc savoir s'il n'y a pas moyen de redessiner la fenêtre une fois que je l'ai redimensionnée, ou alors n'y a-t-il pas un moyen de lui définir par le code une largeur et une hauteur avec l'ouverture de cette fenêtre ?

J'espère avoir été clair, et merci d'avance pour votre aide.

Cordialement,

Yann Métrailler
Posté le 02 mai 2006 - 20:29
Salut,

Tu as les fonctions SysXRes et SysYRes pour connaitre la resolution de l'écran en pixels.

Tu n'as plus qu'a faire un calcul en fonction de la taille de ta fenêtre.

Bon dev,

Philippe



Yann Métrailler a écrit :
Bonjour,

Dans l'application que je suis en train de faire, j'utilise une fenêtre fille qui contient un champ image pour afficher des photos. Bien sûr, elles n'ont pas toujours les même dimensions, et je redimensionne la fenêtre et le champ image à l'ouverture de la fenêtre.

Tout cela marche très bien, seulement que la fenêtre n'est plus centrée par rapport à la fenêtre mère, comme configuré dans les options. Je veux donc savoir s'il n'y a pas moyen de redessiner la fenêtre une fois que je l'ai redimensionnée, ou alors n'y a-t-il pas un moyen de lui définir par le code une largeur et une hauteur avec l'ouverture de cette fenêtre ?

J'espère avoir été clair, et merci d'avance pour votre aide.

Cordialement,

Yann Métrailler
Posté le 03 mai 2006 - 10:03
Hello,

Merci pour ta réponse. Vu qu'il n'y a pas d'autre solution, je l'ai fait en calculant, pour que la fenêtre fille soit centrée par rapport à la fenêtre mère... Voici comment j'ai procédé, pour ceux que ca intéresse :

//Emballage est ma fenêtre mère
//fenAfficheImage est ma fenêtre fille qui affiche les images

nPositionX = Emballage..X
nPositionY = Emballage..Y

fenAfficheImage..X = nPositionX + (Emballage..Largeur - fenAfficheImage..Largeur)/2
fenAfficheImage..Y = nPositionY + (Emballage..Hauteur - fenAfficheImage..Hauteur)/2


A++

Yann Métrailler
Posté le 03 mai 2006 - 10:26
salut

pourquoi ne pas mémoriser la position de la fenêtre dans 2 variables globales en ouverture de fenêtre ?

posx=mafenetre..x
posy=mafenetre..y

et les utiliser quand tu en as besoin
Posté le 03 mai 2006 - 10:46
Prenons le cas où j'ouvre ma fenêtre, que je la déplace un peu à l'écran, et qu'ensuite j'ouvre la fenêtre pour afficher l'image...

Si je me base sur les positions de la fenêtre à l'ouverture, ce ne sera plus centré par rapport à cette fenêtre vu que sa position ne sera plus la même...
Posté le 03 mai 2006 - 15:17
Yann Métrailler avait prétendu :
Bonjour,

Dans l'application que je suis en train de faire, j'utilise une fenêtre fille
qui contient un champ image pour afficher des photos. Bien sûr, elles n'ont
pas toujours les même dimensions, et je redimensionne la fenêtre et le champ
image à l'ouverture de la fenêtre.

Tout cela marche très bien, seulement que la fenêtre n'est plus centrée par
rapport à la fenêtre mère, comme configuré dans les options. Je veux donc
savoir s'il n'y a pas moyen de redessiner la fenêtre une fois que je l'ai
redimensionnée, ou alors n'y a-t-il pas un moyen de lui définir par le code
une largeur et une hauteur avec l'ouverture de cette fenêtre ?

J'espère avoir été clair, et merci d'avance pour votre aide.

Cordialement,

Yann Métrailler


FenTaille("",(SysXRes()-FenExtLarg(""))/2,(SysYRes()-FenExtHaut(""))/2,Défaut,Défaut)
à mettre à l'ouverture de la fen et après redimension

--
Cordialement JeAn-PhI