Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 19, 2025 20:56

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Aug 08, 2005 10:26 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
Hallo,

ich möchte eine Form auf einem bestimmten Monitor erstellen, die mein programm vorher mit EnumDisplayDevices gefunden hat. Allerdings bieten die Delphi(5)-Forms mit DefaultMonitor nur sehr eingeschränkt dazu die Möglichkeit... Gibts da noch andere möglichkeiten? :roll:

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 11:26 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
wenn es nur ein erweiterter bildschirm ist: Auflösung holen, form.top und form.left entsprechend verändern.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 12:03 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
hmmm... dann müsste ich ja bei bestimmten situationen mein programm raten lassen :/ nehmen wir mal im extremstfall an, jemand hat drei bildschirme, der primäre in der mitte, einen links, den anderen rechts - und schon stehe ich vor einem dilemma...
und für jede mögliche kombination der bildschirme regeln aufzustellen finde ich ein wenig unnütz.

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 12:23 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Schau dir mal die API Funktion GetMonitorInfo oder das Boundsrect von TMonitor (Screen.Monitor[0]) an. Laut MSDN dürfen dort auch negative Werte vorkommen. Kann dir aber nicht sagen es was helfen könnte. Habe hier nur einen.

[edit] Ach ja. Ich denke mal auch, dass du nicht darumkommen wirst es selber zu positionieren. Aber wenn du sinnvolle Koordinaten abfragen kannst sollte es ja kein Thema sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 12:56 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Also ich hab bis jetzt nur Screen.Monitor[n] benutzt,
aber das geht recht gut.
Die Werte des Rect vom Monitor können negativ sein, halt immer dann wenn der zweite Monitor links von primär monitor ist.
Aber die Werte für Form.Left sind dann auch negativ wenn ein Fenster links vom Primären Monitor ist.
Von daher müßtest du nur Form.Left auf das Reft.Left vom Monitor setzen auf welchem du die Form anzeigen willst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 13:22 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
ahaaa.. jetzt hab ich die unit "MultiMon" gefunden.. kann schon hilfreich sein *hust*...

Dennoch, es wird wohl zwischen verfügbaren(EnumdisplayDevices) und vom Desktop benutzten(EnumDisplayMonitors) Monitoren unterschieden - warum auch immer, da man mit EnumDisplayDevices auch den Flag DISPLAY_DEVICE_ATTACHED_TO_DESKTOP benutzen kann, was mehr oder weniger das selbe bewirkt - nur das bei EnumDisplayMonitors noch das Rectangle bekomme - meine güte is das kompliziert :/
Da ich meine Anwendung auf besagtem Bildschirm im Vollbild laufen lassen möchte, sehe ich grad dass zu allem Überfluss die Funktion ChangeDisplaySettings auch noch die Option dmPosition anbietet, womit ich dem Anschein nach die Position eines sekundären Monitors einstellen kann - na danke ;) (vorrausgesetzt dass ich alles richtig verstanden habe, keine garantie dafür, villeicht isset ja nur quark)

Jetzt habe ich folgende Fragen:
* Kann ich überhaupt einen sekundären Bildschirm benutzen, auch wenn dieser nicht Bestandteil vom desktop ist? wär schon praktisch, weil dann die maus nicht die grenze des einen bildschirms überschreitet :roll: aber irgendwie bezweifel ich das, ansonsten kann man ja den Mausbereich einschränken
* Mal angenommen, ich kann nur die vom desktop mitbenutzten bildschirme benutzen - in diesem Fall kann ich ja die Position des Bildschirmes herausfinden (bzw das rectangle), allerdings bin ich mir nicht sicher ob ich auch ohne probleme die auflösung ändern kann.
* gibts kein tutorial dazu ?! ;) das meiste was ich bei google unter "EnumDisplayMonitors Delphi" finden kann ist irgendwie auf französisch :twisted:


Keine ahnung ob ich das jetzt richtig verstanden hab, offensichtlich sind einige API-Befehle mehr low-level als andere.. ich werd mal meine augen weiterhin aufhalten und was rumprobieren.. ich meld mich dann falls ich was rausgefunden hab ;)

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 13:23 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
(sorry, doppelpost)

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 15:49 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn du mehr weißt, kannst du ja mal ein Tutorial schreiben: "OpenGL auf mehreren Monitoren" :twisted:

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 08, 2005 16:36 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Flash hat geschrieben:
Wenn du mehr weißt, kannst du ja mal ein Tutorial schreiben: "OpenGL auf mehreren Monitoren" :twisted:

Das wird sehr kurz. Das funktioniert problemlos sofern du nicht vor hast das Fenster so zu verschieben, dass es auf einer neuen Grafikkarte ankommt. Das geht nämlich nicht und wird es auch nie. Da müsste er nämlich dynamisch einen neuen Treiber laden und einen zweiten Context erstellen. Habe ich schon mal schmerzlich erfahren dürfen.

Tutorial fertig. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]