Autor Beitrag
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: Di 25.10.05 12:32 
user profile iconCain hat folgendes geschrieben:
Ohne das Postionieren muss das auch gehen.
Wenn man nämlich die Auflösung ändert, verschieben sich die Sachen alle.
Außer man man ne Abfrage für jede mögliche Auflösung...


Ich verstehe nicht, was dir fehlt. Es gitb soweit keine Unit die etwas auf dem Monitor X ausgibt - positionier dein Fenster da (bzw. nutze die Eigenschaft Monitor der Form) und gebe auf deinem Fenster was aus. Ich verstehe nicht was dein Problem dabei ist.

_________________
49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Di 25.10.05 13:01 
user profile iconMuetze1 hat folgendes geschrieben:
user profile iconCain hat folgendes geschrieben:
Ohne das Postionieren muss das auch gehen.
Wenn man nämlich die Auflösung ändert, verschieben sich die Sachen alle.
Außer man man ne Abfrage für jede mögliche Auflösung...


Ich verstehe nicht, was dir fehlt. Es gitb soweit keine Unit die etwas auf dem Monitor X ausgibt - positionier dein Fenster da (bzw. nutze die Eigenschaft Monitor der Form) und gebe auf deinem Fenster was aus. Ich verstehe nicht was dein Problem dabei ist.


Es gibt keine Eigenschaft Monitor des Formulars.

Wenn das so einfach ist, dann bitte schreib doch bitte hier gerade rein, wie der Quelltext dafür aussieht.
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: Di 25.10.05 13:18 
user profile iconCain hat folgendes geschrieben:
Es gibt keine Eigenschaft Monitor des Formulars.


Stimmt, war ein anderes "Delphi"...

user profile iconCain hat folgendes geschrieben:
Wenn das so einfach ist, dann bitte schreib doch bitte hier gerade rein, wie der Quelltext dafür aussieht.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Var
  i : integer;
Begin
  For i := 0 To Pred(Screen.MonitorCount) Do
    With TForm.Create(Self) Do
    Begin
      Left   := Screen.Monitors[i].Left;
      Top    := Screen.Monitors[i].Top;
      Width  := Screen.Monitors[i].Width;
      Height := Screen.Monitors[i].Height;

      Caption := Format('Monitor %d', [i+1]); 
    End;
End;

_________________
49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Di 25.10.05 13:22 
Ähm Cain also meine beiden geposteten Units enthalten sehr wohl was zum Thema Monitore.
In der ersten schau mal in die Readme und in der zweiten in die systemworks.pas unter Screen.
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Di 25.10.05 14:35 
user profile iconMuetze1 hat folgendes geschrieben:
user profile iconCain hat folgendes geschrieben:
Es gibt keine Eigenschaft Monitor des Formulars.


Stimmt, war ein anderes "Delphi"...

user profile iconCain hat folgendes geschrieben:
Wenn das so einfach ist, dann bitte schreib doch bitte hier gerade rein, wie der Quelltext dafür aussieht.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
Var
  i : integer;
Begin
  For i := 0 To Pred(Screen.MonitorCount) Do
    With TForm.Create(Self) Do
    Begin
      Left   := Screen.Monitors[i].Left;
      Top    := Screen.Monitors[i].Top;
      Width  := Screen.Monitors[i].Width;
      Height := Screen.Monitors[i].Height;

      Caption := Format('Monitor %d', [i+1]); 
    End;
End;


Nicht schlecht ABER das erzeugt denselben Screen auf allen drei Monitoren...
Auf jedem Monitor soll aber was anderes stehen
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Di 25.10.05 14:36 
user profile icondigi_c hat folgendes geschrieben:
Ähm Cain also meine beiden geposteten Units enthalten sehr wohl was zum Thema Monitore.
In der ersten schau mal in die Readme und in der zweiten in die systemworks.pas unter Screen.


Das waren keine zwei geposteten Units sondern zwei ZIP Archive mit Dutzenden von Units.
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Di 25.10.05 15:39 
user profile iconCain hat folgendes geschrieben:

Nicht schlecht ABER das erzeugt denselben Screen auf allen drei Monitoren...
Auf jedem Monitor soll aber was anderes stehen

dann lass halt das create weg :roll:
ein wenig eigeninitiative (denken) wäre nicht schlecht, cain.
naja, so haben wir wenigstens mal einen thread zum thema, mit vielen versch. lösungsansätzen.

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: Di 25.10.05 18:31 
user profile iconCain hat folgendes geschrieben:
Nicht schlecht ABER das erzeugt denselben Screen auf allen drei Monitoren...
Auf jedem Monitor soll aber was anderes stehen


Aber was der Code bzw. ich da mache ist dir schon bewusst, oder? Anscheinend nicht.

_________________
49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21
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: Di 25.10.05 18:36 
Auch wenn hier bereits ein Verweis auf unsere Unit gemacht wurde, möchte ich den Link dennoch nocheinmal geben.

Für Projekt Omorphia haben wir in der Unit OIncMonitors.pas eine Sammlung von Funktionen, die den Umgang mit Multimon etwas erleichtern. Ein Update der Unit ist bereits geplant, aus Zeitmangel seiten's Neos aber ATM nicht durchführbar.

_________________
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.
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Mi 26.10.05 08:26 
user profile iconMuetze1 hat folgendes geschrieben:
user profile iconCain hat folgendes geschrieben:
Nicht schlecht ABER das erzeugt denselben Screen auf allen drei Monitoren...
Auf jedem Monitor soll aber was anderes stehen


Aber was der Code bzw. ich da mache ist dir schon bewusst, oder? Anscheinend nicht.


Natürlich...
Es erzeugt das eigenen Formular auf allen Monitoren....
Deshalb habe ich ja gemeckert...
Klappt aber trotzdem nicht.
Das passt sich nicht an die größe der Bildschirme an, wie beabsichtigt.
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Mi 26.10.05 08:29 
user profile iconBenBE hat folgendes geschrieben:
Auch wenn hier bereits ein Verweis auf unsere Unit gemacht wurde, möchte ich den Link dennoch nocheinmal geben.

Für Projekt Omorphia haben wir in der Unit OIncMonitors.pas eine Sammlung von Funktionen, die den Umgang mit Multimon etwas erleichtern. Ein Update der Unit ist bereits geplant, aus Zeitmangel seiten's Neos aber ATM nicht durchführbar.


Leider viel zu viel Input.
Kann ich nichts mit anfangen.
Kenne mich halt nicht so gut aus.
Ist viel zu kompliziert.
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Mi 26.10.05 09:46 
Ich glaube nicht das du eine wesentlich einfachere Lösung finden wirst als Hilfsunits die dir die Arbeit mit den Koordinaten erleichtern.
Die Koordinaten des Formulars auf die Ecken zu setzen sollte somit kein problem sein.

Vielleicht ist das eher ein Problem deiner Grafikkarte?
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Mi 26.10.05 10:56 
Ich brauche halt nur genau den Quelltext womit ich z.B. verschiedene Frames auf verschiedene Bildschirme machen kann....
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: Mi 26.10.05 10:59 
user profile iconCain hat folgendes geschrieben:
user profile iconMuetze1 hat folgendes geschrieben:
user profile iconCain hat folgendes geschrieben:
Nicht schlecht ABER das erzeugt denselben Screen auf allen drei Monitoren...
Auf jedem Monitor soll aber was anderes stehen


Aber was der Code bzw. ich da mache ist dir schon bewusst, oder? Anscheinend nicht.


Natürlich...
Es erzeugt das eigenen Formular auf allen Monitoren....
Deshalb habe ich ja gemeckert...
Klappt aber trotzdem nicht.
Das passt sich nicht an die größe der Bildschirme an, wie beabsichtigt.


Und zuvor hiess es dazu noch

user profile iconCain hat folgendes geschrieben:
Nicht schlecht ABER das erzeugt denselben Screen auf allen drei Monitoren...
Auf jedem Monitor soll aber was anderes stehen


Erstmal sind deine Beschreibungen was nun nicht klappt echt mies. Weil wenn nicht überall was anderes steht ist was anderes als dass die Forms nicht ordentlich angepasst werden von der Grösse.

Und zum anderen kannst du dir doch die Form befüllen - entweder dynamisch mit anlegen der Elemente oder du baust dir im Designer jeweils eine Form zusammen - oder sogar ganz vorbildlich mit Frames, dann kannste das sogar leichter anpassen an unterschiedliche Monitorkonfigurationen (Anzahl, Grösse).

/EDIT:
user profile iconCain hat folgendes geschrieben:
Ich brauche halt nur genau den Quelltext womit ich z.B. verschiedene Frames auf verschiedene Bildschirme machen kann....


Erzeugt die Forms wie zum Beispiel in meinem unbrauchbaren Codeteil und pack dann abhängig von der Schleifenvariable oder Monitorauflösungen die entpsprechenden Frames raus. Also Frame Createn und Parent entsprechend setzen. Wo ist das Problem?

_________________
49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Mi 26.10.05 11:50 
Es steht überall dasselbe, du Honk.
Lies doch mal richtig.

Ich habe zwei Grafikkarten, drei Monitore und möchte, dass auf jedem Monitor etwas anderes angezeigt wird.
Die letzte angegebene Lösung hatte zwar was, aber das Anpassen an den jeweiligen Monitor hat nicht geklappt. Müßte nämlich, so aus dem Quelltext ersichtlich, den ganzen Monitor füllen.
Dazumal das Stück Script die selbe Form auf allen Bildschirmen anzeigt...

Und welchen deiner Dutzenden Units sollte man da denn auch benutzen, Muetze?
Schreib doch den Quelltext hier rein anstatt ohne jeglichen Beweis hier rum zu meckern.
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mi 26.10.05 12:04 
Wenn ich dich richtig verstehe, willst du auf unterschiedlichen Monitoren verschiedene Forms positionieren. Dafür würde ich mir eine Hilfsprozedur schreiben, die das macht, etwas so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure PlaceFormOnMonitor(AForm: TForm; AMonitorNum: Integer);
var
  r: TRect;
begin
  r := Screen.Monitors[AMonitorNum].WorkareaRect;
  AForm.SetBounds(r);
end;


Das ist jetzt ohne ausprobieren mal schnell eingehackt, sollte aber so oder so ähnlich gehen.

Stefan
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Mi 26.10.05 12:16 
Damit kann man nur heraus finden wie groß die einzelnen Bildschirme von den Abmessungen her sind und du kannst AForm die entsprechende Größte geben. Das ist aber nicht, das, was ich will.
Ich will ne Form auf anderen Bildschirmen ausgeben. Nicht herausfinden, wie groß ne Form auf anderen Bildschirmen ist.
Sorry. Trotzdem danke.


Zuletzt bearbeitet von Cain am Mi 26.10.05 14:15, insgesamt 1-mal bearbeitet
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mi 26.10.05 12:35 
user profile iconCain hat folgendes geschrieben:
Damit kann man nur heruas finden wie groß die einzelnen Bildschirme von den Abmessungen her sind und du kannst AForm die entsprechende Größte geben. Das ist aber nicht, das, was ich will.
Ich will ne Form auf anderen Bildschirmen ausgeben. Nicht heruasfinden, wie groß ne Form auf anderen Bildschirmen ist.
Sorry. Trotzdem danke.


Hast du das überhaupt ausprobiert?

Okay, die Parameter für SetBounds waren nicht richtig - aber ich habe das jetzt mal korrigiert und getestet. So geht's:

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


Gerade eben getestet, funktioniert perfekt.

Stefan
Cain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 32

Win 2000, Win ME, Win XP
Delphi 5
BeitragVerfasst: Mi 26.10.05 12:46 
Ja. Habe ich probiert.
Habe aber noch nen paar andere Probleme.
Liegt aber mehr am Aufruf des Frames aber das kriege ich hin.
Bin mal gespannt, ob deine Lösung klappt.
Muetze1
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 346



BeitragVerfasst: Mi 26.10.05 13:08 
user profile iconCain hat folgendes geschrieben:
Es steht überall dasselbe, du Honk.


Also beleidigend war ich bisher nicht - aber richtig gute Fehlerbeschreibungen hast du bisher auch nicht geliefert.

user profile iconCain hat folgendes geschrieben:
Und welchen deiner Dutzenden Units sollte man da denn auch benutzen, Muetze?
Schreib doch den Quelltext hier rein anstatt ohne jeglichen Beweis hier rum zu meckern.


Ich habe hier auf keine einzige Unit verwiesen - also welche dutzend Units meinst du?

Und warum sollte ich Quelltext hier rein schreiben? Gleiches habe ich gemacht und eine Frame wirste wohl auch anlegen können. Biser kamen von dir nur Dinge wie "klappt nicht, geht nicht, ist Müll". Aber anstatt mal genau zu sagen was nicht klappt wird man beleidigt und falsche Anschuldigungen.

Mir ist es jetzt auch wirklich egal mit deinem Problem, weil beleidigen muss ich mich nicht von dir lassen...

Der Code mit dem WordArea macht soweit auch nix anderes als mein Code, ausser das er Left, Top, Width und Height auf einmal setzt.

Ich vermute den Fehler in deinem restlichen Code anstatt bei den Vorschlägen hier...

_________________
49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21