ich teste gerade den PB internen Formdesigner (5.70), weil ich dachte, dass ich das bisher genutzte "PureForm" von Gnozal nicht mehr benutzen kann. Grund dafür war, dass in alten GUI Projekten die Maße der Gadgets nicht mehr passen, wenn ich sie in PureForm einlese (Texte sind jetzt z.B. länger als die Breite des Textgadgets).
Das ganze liegt sicher daran, dass diese GUIs auf meinem alten Rechner erstellt worden sind, auf dem die Desktop DPI Einstellung 100% betrug. Auf meinem aktuellen Rechner mit HD Display beträgt sie 125%.
Da PureForm nicht DPI aware ist, gehe ich davon aus, dass ich damit keine GUIs auf einem "125% Rechner" mehr designen sollte, weil ich die Dialoge dann in einem 100% Modus erstellen müsste (was mir zu klein ist auf meinem jetzigen Rechner). Würde ich sie so erstellen, dass ich sie auf dem 125% Rechner als passend empfinde, dann werden sie nach der Kompilierung mit DPI awareness, zur Laufzeit aber nochmal um 25% vergrößert - und das ist dann wieder viel zu groß.
Hier mal kurz ein paar Beispiele, um das mit PureForm zu verdeutlichen:
Hier ein Teil einer GUI ohne DPIA kompiliert und auf einem Rechner mit 100% Desktop DPI ausgeführt (da passt alles):

Hier jetzt ohne DPIA und auf einem Rechner mit 125% DPI ausgeführt:

Erwartungsgemäß passt das alles nicht mehr, soweit so gut.
(Das die GUIs dennoch gleich breit sind mag daran liegen, dass der 100% DPI Rechner in einer VM läuft, die wiederum auf meinem Rechner mit 125% DPI gehostet wird)
Hier noch obige Beispiele mit DPI awareness kompiliert.
Mit DPIA und auf einem Rechner mit 100% DPI ausgeführt:

Auch hier ist wieder erwartungsgemäß alles okay.
Nun eins mit DPIA und auf einem Rechner mit 125% DPI ausgeführt:

Passt auch fast alles, weil PB alles hochskaliert (ein "ver-" ist leider verschluckt worden).
Wenn ich dieses GUI Projekt in PureForm lade, um es zu bearbeiten, dann sehe ich aber das hier (auf dem 125% Rechner):

Die GUI wird nicht skaliert und auch der TExt nicht verkleinert. Die Gadgets sind damit zu klein für den Inhalt. Ich gehe also davon aus, dass ich in PureForm eine GUI nur auf einem nativen 100% DPI Rechner designen dürfte, damit nachher bei der Kompilierung mit aktivierter DPI awareness auch alles in der richtigen Proportion angezeigt wird. Daher habe ich mir den PB internen Designer angesehen (vorher immer einen Bogen drum gemacht, weil er mir vom handling nicht zusagt).
Jetzt mal ein Vergleich mit dem PB internen Designer. Beide Tests sind auf dem 125% DPI Rechner kompiliert worden.
Ein Fenster ohne DPI awareness kompiliert:

Und hier mit DPI awareness kompiliert:

Jetzt kommen wir zu dem Punkt der Konfusion:
Designe ich die GUI hier immer im 100% Modus? Oder doch eher im 125% Modus, weil mein Rechner, auf dem PB läuft ja auf 125% DPI eingestellt ist.
Wenn ich dann eine so erstellte GUI mit DPI awareness kompiliere, hat das Executable dann evtl. eine noch höhere DPI Auflösung (nochmal +25% von 125% der Urprungsgröße)?
Was ist auf meinem Rechner mit 125% DPI Einstellung eigentlich 100%? Kann ich auf dem Rechner überhaupt erahnen wie die GUI auf einem waschechten 100% DPI Rechner aussieht?
Hier nochmal alles im Verlgeich, aber wie gesagt läuft der 100% Rechner in einer VM, die wiederum auf dem 125% Rechner läuft.

Sollte der PB Designer nicht eine Einstellung besitzen, um schon beim designen in der 125% Größe zu arbeiten? Man könnte dann bereits beim designen feststellen, ob die GUI zu ausladend ist oder nicht.
Aber wie gesagt, wenn der Designer das nochmal um 25% skaliert, ist das dann auf einem 125% Rechner wirklich 125% oder doch schon 156,25% (125 + 25% davon).
Je länger ich darüber nachdenke, desto mehr verwirrt es mich.

