Dialog zu klein

Ich bin von einem Windows-Anwender angeschrieben worden, bei dem ein Dialog abgeschnitten dargestellt wird.
Ich habe seinen Screenshot mal etwas zusammengeschnitten um das Problem zu verdeutlichen (der Anwender hat mir einen Screenshot geschickt, bei dem der Dialog neben dem Fester angezeigt wurde):

Im Hintergrund sieht man etwas vom Hauptfenster, in welchen der Hinweis aufgerufen wird:

Dim d as New MessageDialog//declare the MessageDialog object
Dim b as MessageDialogButton //for handling the result

d.icon=3 //display question icon
d.ActionButton.Caption=AllgemeinesUebernehmen
d.CancelButton.Visible=MitAbbruch //show the Cancel button
d.CancelButton.Caption=AllgemeinesAbbrechen
d.AlternateActionButton.Visible=True //show the Dont Save button
d.AlternateActionButton.Caption=AllgemeinesNichtUebernehmen
d.Message=MessageVeraendertenDatensatzUebernehmen
app.FrontmostMBS=true
b=d.ShowModal //display the dialog

Das ist also ein ganz normaler Dialog. Komisch finde ich, dass die Fenstertitelzeile des Hauptfensters zwar dieselbe Größe wie die des Dialoges hat, der Dialogtext aber in einer ungewöhnlich kleinen Schriftgröße ausgegeben wird.

Jetzt schreibt der Anwender:
Ich habe festgestellt, dass eine geringere Auflösung des zweiten Monitores zum Erfolg führt. Damit wird jetzt nicht die volle Leistung des Monitores ausgenutzt, aber Familienbande funktioniert wieder einwandfrei!

Hier habe ich auf einen HieRes Monitor getippt, finde aber keine Möglichkeit, das irgendwie dem Dialog mit auf den Weg zu geben. oder die Dialoggröße anderweitig anzupassen.

Was habe ich übersehen?
Vor allem, was kann ich tun, damit der Dialog passend dargestellt wird?

Gruß, Stefan.

Ich denke, hier liegt die Antwort. Er verwendet einen zweiten Monitor. Das heißt aller Wahrscheinlichkeit nach, dass die App vom ersten Monitor aus gestartet wird. Die zwei Bildschirme entsprechen nicht der gleichen Auflösung, bzw. nicht der gleichen Textvergrößerung (unter Windows gibt es nicht nur HiDPI, sondern auch % Textgröße). Hast Du auch zwei Monitore? Dann könntest du das Problem reproduzieren. Ich denke aber, dass es nicht lösbar ist, da Windows die Bildschirmauswahl vornimmt, und nicht Xojo.

Normalerweise habe ich nur einen Monitor und macOS.
Ich könnte einen zweiten Monitor anschließen, das wird aber vermutlich bei der Virtualisierung nicht helfen.
Wie machen das denn andere Programme? Da müsste das dann doch ebenfalls auftreten. Habe ich noch nichts von gehört oder bemerkt (meinen dienstlichen Laptop habe ich auch an einem (zwei) zusätzlichen Monitor angeschlossen).

Ich habe es nie ausprobiert, aber TaskDialogMBS wäre eine Möglichkeit:

https://www.monkeybreadsoftware.net/class-taskdialogmbs.shtml

MBS bietet auch Klassen, die Eigenschaften von Windows-Monitoren aufrufen können:

https://www.monkeybreadsoftware.net/class-windowsmonitormbs.shtml
https://www.monkeybreadsoftware.net/class-windowsdisplaymbs.shtml

Christian Schmitz weiß wahrscheinlich die richtige Lösung.

1 Like