AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unterschiedliche Monitor-Größe (Pixel)

Ein Thema von Ines · begonnen am 18. Apr 2008 · letzter Beitrag vom 18. Apr 2008
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#11

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 12:08
Seh ich wie Bitsetter, nicht nur Google sondern auch die VCL ist unser Freund.
Sonst könnte man ja gleich in C entwickeln.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#12

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 12:43
Zitat von bitsetter:
Warum soll man das über die API machen, wenn die Funktionen schon von der VCL unter Delphi-Referenz durchsuchenTScreen gekapselt worden sind, oder sehe ich da was falsch?
Ja, ich finde du siehst da was falsch. Wenn ich mir TScreen etc anschaue, habe ich keine Funktion mir zu einem Formular X den Monitor heraus zu bekommen. Ich müsste die Überschneidung testen wie vorgeschlagen, oder aber ich frage einfach Windows. Die VCL kapselt die WinAPI Aufrufe für MultiMon etc in der VCL, einen Teil dazu u.a. in der TScreen. Das Problem ist doch einfach nur, dass die von mir oben genannten Funktionen nicht gekapselt wurden. Warum auch immer - ob vergessen oder sonstwas.

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.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#13

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 12:57
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!
Oliver
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#14

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 13:03
Zitat von Sherlock:
1) Ich verschreie nichts als Teufelszeug.
War nicht auf dich bezogen.

Zitat von Sherlock:
2) Die von Dir genannten Methoden sind sehr wohl in TScreen implementiert (zumindest bei Delphi7).
Wie du meinem Profil entnehmen kannst, Delphi 5 und dort sind diese Funktionen nicht enthalten.

Somit ist meine Lösung der gehbare Weg für Delphi 5 und Delphi 7 hat diese implementiert, aber woher sollte ich das Wissen?
  Mit Zitat antworten Zitat
bepe

Registriert seit: 17. Okt 2006
119 Beiträge
 
#15

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 13:16
Ähm.. vielleicht habe ich etwas überlesen aber warum so umständlich?

Wenn du wissen möchtest auf welchem Monitor ein Form angezeigt wird, frag es einfach

Delphi-Quellcode:
Screen.MonitorCount
Screen.Monitors

TForm.Monitor // Das hier suchst du wohl...

mfg,
bp
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 14:31
Zitat von Muetze1:
Ja, ich finde du siehst da was falsch. Wenn ich mir TScreen etc anschaue, habe ich keine Funktion mir zu einem Formular X den Monitor heraus zu bekommen. Ich müsste die Überschneidung testen wie vorgeschlagen, oder aber ich frage einfach Windows. Die VCL kapselt die WinAPI Aufrufe für MultiMon etc in der VCL, einen Teil dazu u.a. in der TScreen. Das Problem ist doch einfach nur, dass die von mir oben genannten Funktionen nicht gekapselt wurden. Warum auch immer - ob vergessen oder sonstwas.

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.
@Muetze1 Mit meinem Beitrag wollte ich lediglich darauf hinweisen, dass die Funktionen auch in der VCL (demnach ab Delphi 6) enthalten sind. Immerhin befinden wir uns in der Rubrik "VCL / WinForms / Controls".
Keine Ahnung warum du dann gleich so gereizt reagiert.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
bepe

Registriert seit: 17. Okt 2006
119 Beiträge
 
#17

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 14:53
Wenn ich mich an der Stelle dann einmischen darf um hier evtl. Verwirrung für unwissende Mitlesende zu lichten....

Zitat:
MonitorFromWindow() , MonitorFromRect() und MonitorFromPoint()
Die genannten Funktionen sind in der Unit MultiMon gekapselt. TScreen stellt keine der Funktionen zur Verfügung. Das gilt für D5-D2007. Die VCL-Alternative (die Eigenschaft Monitor von TForm) ist ebenfalls in D5 schon vorhanden

mfg,
bp
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#18

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 16:31
Zitat von bepe:
Wenn ich mich an der Stelle dann einmischen darf um hier evtl. Verwirrung für unwissende Mitlesende zu lichten....
Bzw. zu erhöhen

bepe
Zitat:
MonitorFromWindow() , MonitorFromRect() und MonitorFromPoint()
Die genannten Funktionen sind in der Unit MultiMon gekapselt. TScreen stellt keine der Funktionen zur Verfügung. Das gilt für D5-D2007. Die VCL-Alternative (die Eigenschaft Monitor von TForm) ist ebenfalls in D5 schon vorhanden


Falsch.

D7: Classes.pas, TScreen, Public:
Delphi-Quellcode:
    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;
Copyright (c) 1995-2002 Borland Software Corporation

Und ja, die Monitor-Eigenschaft ist die richtige Eigenschaft welche zu nutzen ist, da sie genau das gesuchte macht:

Delphi-Quellcode:
  ...
  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;
  ...
Copyright (c) 1995-2002 Borland Software Corporation

Zitat von bitsetter:
Keine Ahnung warum du dann gleich so gereizt reagiert.
Ich empfehle dir eine Mail an Moderatoren zu schreiben oder den Beitrag zu melden. Dann kann dieser entfernt werden bzw. ich anderweitig abgemahnt bzw. gesperrt werden - dein Einwand ist schliesslich nicht unberechtigt.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#19

Re: unterschiedliche Monitor-Größe (Pixel)

  Alt 18. Apr 2008, 18:04
Zitat von bepe:
Wenn ich mich an der Stelle dann einmischen darf um hier evtl. Verwirrung für unwissende Mitlesende zu lichten....

Zitat:
MonitorFromWindow() , MonitorFromRect() und MonitorFromPoint()
Die genannten Funktionen sind in der Unit MultiMon gekapselt. TScreen stellt keine der Funktionen zur Verfügung. Das gilt für D5-D2007.
Da muss ich dir auch widersprechen, die Funktionen sind in Delphi 6 sowie Delphi 2006 in der Komponente TScreen vorhanden.

Zitat von Muetze1:
Zitat von bitsetter:
Keine Ahnung warum du dann gleich so gereizt reagiert.
Ich empfehle dir eine Mail an Moderatoren zu schreiben oder den Beitrag zu melden. Dann kann dieser entfernt werden bzw. ich anderweitig abgemahnt bzw. gesperrt werden - dein Einwand ist schliesslich nicht unberechtigt.
Wegen so einer Kleinigkeit, hätte ohnehin kein Grund dazu. Außerdem wird ausgerechnet dich hier deswegen niemand sperren.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz