in aSize angegebene Grösse wird ignoriert?

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

in aSize angegebene Grösse wird ignoriert?

Beitrag von georg »

Guten Abend,


gestern habe ich einem Kollegen geholfen, ein etwas seltsames Phänomen zu untersuchen. Dabei fiel mir etwas auf, dass ich nicht wirklich nachvollziehen kann:

Der Monitor hat eine Auflösung von 1920 * 1080 Pixel, läuft mit 100 %, soweit alles schön und gut. Das Programmfenster soll ebenfalls 1920 * 1080 Pixel gross sein. Läuft alles bestens, nur das Fenster ist nicht 1080 Pixel breit, sondern ein wenig kleiner. Frage ich über SetAppWindow():currentSize() die Grösse ab, wird {1920,1080} zurückgemeldet.

Ich habe das Ganze mal auf meinem Monitor (2560*1440) nachgestellt und habe den gleichen Effekt, d.h. hier meldet SetAppWindow():currentSize() dann {2560,1440} zurück.

Hat einer von Euch dafür eine Erklärung?
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von Koverhage »

Die Größe ist die Größe des Monitors, es gibt einen Rahmen der nicht benutzt werden kann.
Was passiert bei drawingarea:currentsize() ?
Gruß
Klaus
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von georg »

Hallo, Klaus -


also, bei meinem Monitor ist die :drawingArea {2544,1401} Pixel gross.

Ich habe da mal zwei Screenshots bei dem Kollegen angefertigt:
TV-ol.png
TV-ol.png (21.54 KiB) 6975 mal betrachtet
Das ist der Bereich oben links, man sieht ein paar Pixel in der Horizontalen vom Desktop (innerhalb des TeamViewer-Fensters, wohlgemerkt), und das hier ist unten rechts:
TV-ur.png
TV-ur.png (26.46 KiB) 6975 mal betrachtet
Auch hier erkennt man einige Pixel vom Desktop (die farbigen Elemente stammen von meinem Desktop).
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von Manfred »

Georg,
hat es etwas mit underscan beim Monitor zu tun?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von georg »

Hallo, Manfred -


eher nicht. Man kann das Fenster nach rechts oder links (oben, unten) verschieben.

Was mich irritiert, ist dass der erzeugte Fenster kleiner ist als angefordert, aber trotzdem steif und fest behauptet, es wäre genauso gross wie der Desktop.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von Manfred »

wie wir gerade getestet haben, ist es bei mir unter Win7 z.B. nicht. Alles geht komplett bis zu den Rändern.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von AUGE_OHR »

georg hat geschrieben: Mi, 05. Jun 2019 9:44Ich habe da mal zwei Screenshots bei dem Kollegen angefertigt:
das ganze ist aber per Remote, oder :?:

wie ist der Monitor angeschlossen :?: VGA, DVI oder HDMI :?:
ist der Monitor "kalibriert" :?:

üblicherweise sollte der Monitor per DDC angesteuert werden aber dazu muss der Monitor ein Profi aufweisen.
DDC funktioniert aber nur bei den Digitalen Ausgängen d.h. VGA muss man manuell justieren.
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von georg »

Hallo, Jimmy -


es passiert z.B. bei einem Notebook. Oder auch bei mir. Manfred hat's gestern per Fernwartung beobachtet.

Also, Bildschirmauflösung ist 2560*1440. Ich erstelle also einen XbpDialog() mit dieser Grösse, der den kompletten Desktop (incl. Taskleiste) überdeckt, nur am Rand sind rechts und links ein paar Pixel frei. Im Debugger frage ich SetAppWindod():currentsize() ab, die ist {2560,1440}.

Dann klicke ich auf den Maximieren-Button, und schwupps ist die Taskleiste sichtbar, und das Fenster nimmt die ganze Breite des Monitors ein. Im Debugger wieder SetAppWindow():currentSize() abgefragt, und was meinst Du, kommt als Ergebnis? {2566,1406}

Übrigens, ob es per remote Zugriff oder ganz lokal ist, macht keinen Unterschied:

Bild

Wie getippt, die ersten beiden Einträge sind nach Erstellen des Fensters, die anderen beiden nach dem Maximieren.
Dateianhänge
Video.zip
(835 Bytes) 258-mal heruntergeladen
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von AUGE_OHR »

georg hat geschrieben: Do, 06. Jun 2019 21:12 Dann klicke ich auf den Maximieren-Button, und schwupps ist die Taskleiste sichtbar, und das Fenster nimmt die ganze Breite des Monitors ein. Im Debugger wieder SetAppWindow():currentSize() abgefragt, und was meinst Du, kommt als Ergebnis? {2566,1406}
Ja, jetzt sehe ich was du meinst : es fehlen Pixel ... vom Frame !

unter Windows 7 gab es eine Konstante Border-Padding und 16 = 2 x 8 wäre der wert den es hatte.

IMHO "müsste" es korrekt unter Windows 7 laufen.
Alaska hatte irgendwann den visual Style angepasst ... aber dann kamen wieder der "dünnen" Frame

p.s. die Grössen Änderung bekommt man mit oDlg:drawingArea:CurrentSize()

Code: Alles auswählen

FUNCTION Switch(oDlg,oStatic)

   If oDlg:getFrameState()==XBPDLG_FRAMESTAT_MAXIMIZED
      oDlg:setFrameState(XBPDLG_FRAMESTAT_NORMALIZED)
      oStatic:Setcaption("Normal "+ VAR2CHAR( oDlg:drawingArea:CurrentSize()) )
   ELSE
      oDlg:setFrameState(XBPDLG_FRAMESTAT_MAXIMIZED)
      oStatic:Setcaption("Maximize "+ VAR2CHAR( oDlg:drawingArea:CurrentSize()) )
   ENDIF

   SetAppFocus( oDlg )
RETURN NIL
gruss by OHR
Jimmy
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von georg »

Guten Morgen, Jimmy -


wo soll denn dieses Switch() hin? Ein paar mehr an erklärenden Worten wäre richtig gut.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: in aSize angegebene Grösse wird ignoriert?

Beitrag von AUGE_OHR »

georg hat geschrieben: Fr, 07. Jun 2019 7:14 wo soll denn dieses Switch() hin? Ein paar mehr an erklärenden Worten wäre richtig gut.
das hatte ich nur zum testen.

Code: Alles auswählen

   oBtn := XbpPushButton():new( oDlg:drawingArea ,, {0,10}, {aSize[1],30},aPres )
   oBtn:caption := "max/min"
   oBtn:create()
   oBtn:activate := {|| Switch(oDlg,oStatic) }
gruss by OHR
Jimmy
Antworten