Multi Ecrans : Definir le Primary_display_device

thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011 - 24 avril 2006 à 15:59
cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010 - 25 avril 2006 à 22:47
Bonjour,

Je cherches des infos afin de pouvoir controler une configuration multi ecran
(Carte ATI avec 2 sorties)

J'aurais besoin de :

1/ Choisir le quel des 2 est l'écran principal (celui indiqué par 1)
2/ Activer ou Desactiver le 2 eme ecrans

Si quelqu'un a des infos la dessus.
Merci

6 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
24 avril 2006 à 18:33
Salut,

je n'ai pas encore vraiment travaillé avec les sytèmes à deux écrans
mais je peut déjà de donner la methode que j'utilise pour énnumerer les moniteurs, leurs tailles et positions:

tu mets un TMemo et un bouton sur une Form
et dans l'évènement OnClick du bouton tu mets ceci :

procedure TForm1.Button1Click(Sender: TObject);
Var I : Integer;
begin
Memo1.Lines.Clear;
Memo1.Font.Name := 'FixedSys'; // pour l'alignement
Memo1.ScrollBars := ssVertical; // au ca où il y aurait beacoup d'écrans
Memo1.Lines.Add(Format('Nbr de Moniteur(s): %d', [Screen.MonitorCount])); // Affiche le Nbr. d'écrans
For I : = 0 To Screen.MonitorCount - 1 do
With Screen.Monitors[I], Memo1.Lines do
Begin
Add(Format('Moniteur %d', [I])); // Affiche le numéro de l'écran
Add(Format('Left : %d', [Left])); // Affiche le Left (pour localiser l'écran dans l'éspace)
Add(Format('Top : %d', [Top])); // pour le premier écran Top et Left sont à zéro
Add(Format('Width : %d', [Width])); // Affiche la largeur
Add(Format('Height : %d', [Height])); // et la hauteur
Add(''); // une chitt séparation
End;
end;


<HR>

n'oubliez pas de cliquer sur Réponse Acceptée
si elle vous convient


<HR>


@+
Cirec
0
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011
25 avril 2006 à 11:25
Merci pour cette réponse.

Helas cela ne répond pas vraiment a ma question.

Mais cela pourra etre utile a d'autres.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
25 avril 2006 à 12:11
Non ça répond que à la première question.
Et le premier moniteur n'est pas 1 mais 0

@+
Cirec
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
25 avril 2006 à 14:21
Sinon pour mettre un moniteur en veille il y a ceci :
SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);


<DT>SC_MONITORPOWER
<DD>Sets the state of the display. This command supports devices that have power-saving features, such as a battery-powered personal computer.
The lParam parameter can have the following values:


1 - the display is going to low power Mise en veille du moniteur


2 - the display is being shut off Eteind le moniteur

</DD>
mais par contre il n'y a toujours pas le choix du moniteur

<HR>

n'oubliez pas de cliquer sur Réponse Acceptée
si elle vous convient


<HR>


@+
Cirec
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thonyboy Messages postés 165 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 16 février 2011
25 avril 2006 à 19:15
Ha oui ? Ben ce serait top AKELAWHITE.

Parceque je galere avec les API (enumdisplaydevice & co)

Mon probleme est que je n'arrive pas a definir le moniteur principal.
Les drivers ATI et NVIDIA le font trés bien dans leur panneau de controle.
Du coup j'ai fait des recherches si il existe des librairies SDK & co chez ATI et NVIDIA, mais je n'ai rien trouvé en dehors des SDK pour faire de la 3D.
Si tu as des pistes
0
cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010
25 avril 2006 à 22:47
Ha oui ? Ben ce serait top AKELAWHITE.

Ben comme sur 8 réponses il a posté 7 fois ...



Dès que possible... je t'offre une solution.

a mon avis ca risque d'etre pas possible ...

Cordialement jfs.
<hr size="2" width="100%">
Tout est en tout et réciproquement ...
0
Rejoignez-nous