Démarrer le programme sur un second écran?
Est-il un moyen de spécifier surveiller une application apparaît dans Delphi ou C++Builder?
Je suis en train d'élaborer un programme simple pour un client, qui affiche les commandes en cuisine sur un moniteur secondaire, généré par une hospitalité système. Actuellement, ils doivent manuellement, faites glisser la fenêtre sur le second moniteur après son démarrage.
Vous devez vous connecter pour publier un commentaire.
Enregistrer la position de la fenêtre avant de programmer l'arrêt et de les restaurer sur le démarrage. Multimoniteur affiche juste augmenter la taille du bureau; d'autres moniteur surfaces ont juste une autre section du même plan X/Y avec son origine en haut à gauche de l'écran principal.
Cela peut être fait automatiquement pour vous par un de plusieurs composants.
BTW, l'Écran de la variable dans les Formes de l'unité a une propriété appelée MonitorCount et un autre à plaquettes indexables de la propriété, Moniteurs[Index: Integer]: TMonitor. TMonitor a des propriétés indiquant la gauche, haut, largeur, la hauteur, etc., ainsi toutes les informations dont vous avez besoin est là.
L'Écran global de l'objet (partie de Formulaires) a la notion de Moniteurs. Je pense que cela a été ajouté vers Delphi 6 ou 7. Le code suivant fonctionne:
Vous pouvez utiliser n'importe quel décalage positif à partir de cette position pour le mettre n'importe où dans ce moniteur. Vous pouvez obtenir la largeur et la hauteur de là aussi, de connaître les dimensions.
Pas vraiment la réponse à votre question implique, mais ne pourriez-vous pas stocker les paramètres de la fenêtre (taille, position, État Agrandi) lorsque l'application est fermée, et de les appliquer au démarrage?
J'ai fait une chose similaire il y a un moment dans Delphi 5:
De Windows vous permet de spécifier les coordonnées d'une fenêtre dans le CreateWindow appel d'API. Je ne sais pas assez sur Delphi ou C++Builder pour savoir si vous avez accès à cette partie du processus.
Vous pourriez également être en mesure de déplacer la fenêtre dans un gestionnaire WM_CREATE.
EnumDisplayMonitors vous donnera les coordonnées de chaque moniteur dans le système.
De toute évidence Delphi et C++ Builder ont des équipements qui font de cette réponse quelque peu hors de propos. Je vais le laisser ici au cas où quelqu'un vient à travers cette question, mais a besoin de réponse pour un environnement différent.
Je ne fais pas beaucoup avec les systèmes windows, je vous suggère un hack comme ça.
Saisir la largeur de la partie visible du bureau(les deux écrans combinés), la diviser par moitié et assurez-vous que votre position de départ.
Vous pouvez aussi regarder ce que les api vous dit monitor2 dimensions.