Autor Beitrag
Dreyhaupt
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 28.09.11 15:00 
Hallo Leute

folgende Aufsgabe kann ich vermutlich ohne Eure Hilfe nicht lösen.

An einem PC sind mit einer speziellen Grafikkarte derzeit 4 Monitor angeschlossen.

Über "showmessage(inttostr(screen.MonitorCount))" erhalte ich die Anzahl der derzeit aktiven Monitore.

Ich möchte nun zb Form1 auf Monitor 1, Form2 auf Monitor 2 usw. plazieren.

Der erweiterte Desktop kann auch die Monitore untereinander, nebeneinander stellen. Über die Funktion Pixelbreite, Pixelhöhe will ich es nicht lösen. Ich möchte wie in Windows, die Monitore identifizieren 1,2,3,4 und dann die Form dorthin verschieben.

Ich habe auch nicht herausgefunden, wie Windows das Identifizeren macht? Eine Funktion muß es ja geben.

Danke für Eure Ideen....

Christian
+++++++++

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Moderiert von user profile iconNarses: Topic aus Multimedia / Grafik verschoben am Mi 28.09.2011 um 15:53
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 28.09.11 15:37 
Siehe TScreen.Monitors und TScreen.MonitorFromPoint.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Dreyhaupt Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 29.09.11 10:36 
Hat jemand schonmal mit diesen Funktionen gearbeitet?

--> TScreen.Monitors und TScreen.MonitorFromPoint

Evtl. ein paar Codeschnipsel
espen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 90
Erhaltene Danke: 1


D6 Prof./D7 Prof. MSSQL, MySQL
BeitragVerfasst: Do 29.09.11 11:46 
Hallo,

ich habe mal einen Bildschirmschoner erstellt, der auf versch. Monitoren läuft.
Um ein Form auf einen bel. Monitor zu platzieren habe ich folgende Prozedur verwendet:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure PlaceFormOnMonitor(MonFrame: TForm; MonitorNum: Integer);
var
  r: TRect;
begin
  r := Screen.Monitors[MonitorNum].BoundsRect;
  MonFrame.SetBounds(r.Left, r.Top, r.Right - r.Left, r.Bottom - r.Top);
end;


Grüßle