![]() |
unterschiedliche Monitor-Größe (Pixel)
Hallo
Unsere Befund-Arbeitsplätze haben jetzt 3 stattt bisher 2 Monitore. Das Fatale (für mich) daran ist, daß ein Monitor 1280x1024 Pixel hat, die anderen beiden haben je 1900x1200 Pixel. Mein Prolem: Mit welchem Aufruf kann ich erfahren, auf welchem Monitor (Auflösung) das Programm gestartet wurde? Vielen Dank für Eure Hilfe Ines Delphi7 Enterprise auf WinXP |
Re: unterschiedliche Monitor-Größe (Pixel)
Ich sag mal ganz blöd: Du könntest Screen.Width bzw. Screen.Height abfragen.
|
Re: unterschiedliche Monitor-Größe (Pixel)
Hallo,
vermutlich garnicht, denn jeder Monitor kann (hardwareabhängig) zum Boot-Zeitpunkt den Fokus erhalten. Anders sieht die Sache aus, wenn beim Shutdown ein definierter Monitor aktiv war und dieser Zustand gespeichert wurde. Von welcher Hardware bekommen die 3 Monitore das Videosignal? |
Re: unterschiedliche Monitor-Größe (Pixel)
Moin, Moin,
warum sollte dies nicht möglich sein? Wenn du schreibts, Zitat:
![]() |
Re: unterschiedliche Monitor-Größe (Pixel)
![]() ![]() ![]() Ach so: Das HMONITOR Handle was du bekommst, findest du in Screen.Monitors[].Handle wieder. Damit wäre der Link von taaktaak auch deutlich vereinfachbarer. |
Re: unterschiedliche Monitor-Größe (Pixel)
Jooo, wenn man die Unit MultiMon.pas einbindet geht's auch so :mrgreen:
|
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
|
Re: unterschiedliche Monitor-Größe (Pixel)
Auch hier keine Wiederrede :shock:
|
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
Zitat:
Zitat:
Ich versuche mein Problem mit MonitorFromWindows zu lösen. Vielen Dank für Eure schnelle Hilfe Ines |
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
![]() |
Re: unterschiedliche Monitor-Größe (Pixel)
Seh ich wie Bitsetter, nicht nur Google sondern auch die VCL ist unser Freund.
Sonst könnte man ja gleich in C entwickeln. Sherlock |
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
Aber grundlegend die WinAPI als Teufelszeug zu verschreien, nur weil ich mit viel mehr Aufwand und beschränkter Funktionalität der VCL gleiches erreichen kann, warum? Es gibt eine einzige Funktion die genau und definiert die Aufgabenerstellung erfüllt. Und ich habe schon extra darauf hingewiesen, dass der Rückgabewert der WinAPI Funktion sich in den TMonitor Instanzen in der Eigenschaft Handle wiederfindet. Ich habe nicht gesagt, dass man alles davon ausgehend mit der WinAPI lösen sollte. Die Kombination machts, schliesslich bietet die VCL auch genug - und für alles andere klappt das ja, nur halt an der einen Stelle bietet sie keine Lösung an. Und einen zusätzlichen Ja Sager um es dann gleich ganz zu übertreiben braucht der Beitrag auch nicht. Schon allein sehe ich keinen Zusammenhang das Nutzung der WinAPI gleich C als Programmiersprache fordert. Nur weil die MSDN die Funktionen mit C dokumentiert, bedeutet dies nichts dahingehend. |
Re: unterschiedliche Monitor-Größe (Pixel)
1) Ich verschreie nichts als Teufelszeug.
2) Die von Dir genannten Methoden sind sehr wohl in TScreen implementiert (zumindest bei Delphi7). 3) Ich bin kein Jasager. 4) Sorry, daß ich den Thread zumülle. Sherlock Edit: Ah, Delphi 5...ok. Sorry! |
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
Zitat:
Somit ist meine Lösung der gehbare Weg für Delphi 5 und Delphi 7 hat diese implementiert, aber woher sollte ich das Wissen? |
Re: unterschiedliche Monitor-Größe (Pixel)
Ähm.. vielleicht habe ich etwas überlesen aber warum so umständlich? :-D
Wenn du wissen möchtest auf welchem Monitor ein Form angezeigt wird, frag es einfach :lol:
Delphi-Quellcode:
Screen.MonitorCount
Screen.Monitors TForm.Monitor // Das hier suchst du wohl... |
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
Keine Ahnung warum du dann gleich so gereizt reagiert. |
Re: unterschiedliche Monitor-Größe (Pixel)
Wenn ich mich an der Stelle dann einmischen darf um hier evtl. Verwirrung für unwissende Mitlesende zu lichten....
Zitat:
|
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
bepe Zitat:
Falsch. D7: Classes.pas, TScreen, Public:
Delphi-Quellcode:
Copyright (c) 1995-2002 Borland Software Corporation
function MonitorFromPoint(const Point: TPoint;
MonitorDefault: TMonitorDefaultTo = mdNearest): TMonitor; function MonitorFromRect(const Rect: TRect; MonitorDefault: TMonitorDefaultTo = mdNearest): TMonitor; function MonitorFromWindow(const Handle: THandle; MonitorDefault: TMonitorDefaultTo = mdNearest): TMonitor; Und ja, die Monitor-Eigenschaft ist die richtige Eigenschaft welche zu nutzen ist, da sie genau das gesuchte macht:
Delphi-Quellcode:
Copyright (c) 1995-2002 Borland Software Corporation
...
Result := nil; HM := MonitorFromWindow(Handle, MONITOR_DEFAULTTONEAREST); for I := 0 to Screen.MonitorCount - 1 do if Screen.Monitors[I].Handle = HM then begin Result := Screen.Monitors[I]; Exit; end; ... Zitat:
|
Re: unterschiedliche Monitor-Größe (Pixel)
Zitat:
Zitat:
:cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz