affecter un thread graphique à une sortie graphique

affecter un thread graphique à une sortie graphique - C++ - Programmation

Marsh Posté le 16-09-2008 à 19:32:30    

Bonjour à tous,
 
J'utilise Visual2008 et j'ai fait un programme comportant plusieurs threads. Parmis ces threads il y a des threads de travail ainsi qu'un thread graphique.
 
J'ai deux écrans en mode étendu.  
 
Ainsi, je voulais savoir s'il était possible de faire en sorte que les IHM s'affichent sur le deuxième écran????
 
Merci d'avance.

Reply

Marsh Posté le 16-09-2008 à 19:32:30   

Reply

Marsh Posté le 17-09-2008 à 10:34:18    

Déplacer la fenêtre sur le deuxième écran?[:dawak]
Pourquoi tu veux forcer ça? La plate-forme est fixe et immuable, ton  programme ne tournera que sur une machine?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-09-2008 à 11:38:46    

quel rapport avec les threads ?

Reply

Marsh Posté le 17-09-2008 à 18:30:04    

Certaines zones de mon IHM sont actives et ouvrent une autre boite de dialogue.
 
Lorsque je déplace la fenêtre principale vers le deuxième écran, le pop-up s'ouvre sur le premier!!!!!  
 
Puisque toutes mes boites de dialoguesont gérées dans le même thread, je me disais que forcer ce thread à afficher sur le deuxième écran permettrait de régler ce problème!!!

Reply

Marsh Posté le 17-09-2008 à 18:36:28    

Citation :

Lorsque je déplace la fenêtre principale vers le deuxième écran, le pop-up s'ouvre sur le premier!!!!!  

Ben avant d'ouvrir ton pop up, calcules le centre de ta fenetre principale, et utilises le comme centre de ton pop up, ou un truc de ce genre.
A+,


Message édité par gilou le 17-09-2008 à 18:39:45

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 17-09-2008 à 20:31:04    

Tu as 2 écrans, mais un seul bureau en réalité. Tu utilises les mêmes fonctions pour dessiner sur l'un des 2 écrans. Ton écran principal détermine l'origine (en haut à gauche), et selon si le 2nd écran se trouve à gauche ou à droite (pas sur ta table, mais dans les paramètres d'affichage de windows), les coordonnées de ton 2nd écran varieront : pour le 2nd écran à gauche ça sera certainement des coordonnées négatives en X.
 
Ainsi, si tu souhaites ouvrir une popup sur le 2nd écran, il te suffit de changer les coordonnées de ta popup.
 
Je ne sais pas si il est possible de détecter par des appels systèmes le nombre d'écrans de la machine cible ainsi que leurs positions respectives. Voir MSDN ( :lol:) pour plus d'infos.

Reply

Marsh Posté le 17-09-2008 à 21:46:28    

Merci pour vos réponses, je vais faire quelques essais.
 
J'ai un autre problème, rendre transparent le fond d'un CEdit mais je vais poster un autre sujet je pense (pas compris le principe d'intercepter le message WM_CTLCOLOR du CEdit en question...)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed