Autor |
Beitrag |
Muetze1
Beiträge: 346
|
Verfasst: Di 25.10.05 12:32
Cain 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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: Di 25.10.05 13:01
Muetze1 hat folgendes geschrieben: | Cain 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
Beiträge: 346
|
Verfasst: Di 25.10.05 13:18
_________________ 49 63 68 68 61 62 65 6B 65 69 6E 65 41 68 6E 75 6E 67 21
|
|
digi_c
Beiträge: 1905
W98, XP
D7 PE, Lazarus, WinAVR
|
Verfasst: 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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: Di 25.10.05 14:35
|
|
Cain
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: Di 25.10.05 14:36
digi_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
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: Di 25.10.05 15:39
Cain 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
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
Beiträge: 346
|
Verfasst: Di 25.10.05 18:31
Cain 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
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: 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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: Mi 26.10.05 08:26
Muetze1 hat folgendes geschrieben: | Cain 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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: Mi 26.10.05 08:29
BenBE 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
Beiträge: 1905
W98, XP
D7 PE, Lazarus, WinAVR
|
Verfasst: 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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: 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
Beiträge: 346
|
Verfasst: Mi 26.10.05 10:59
Cain hat folgendes geschrieben: | Muetze1 hat folgendes geschrieben: | Cain 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
Cain 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:
Cain 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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: 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
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: 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:
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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: 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
Beiträge: 612
WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
|
Verfasst: Mi 26.10.05 12:35
Cain 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:
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
Beiträge: 32
Win 2000, Win ME, Win XP
Delphi 5
|
Verfasst: 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
Beiträge: 346
|
Verfasst: Mi 26.10.05 13:08
Cain 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.
Cain 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
|
|