Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Skalierung IDE

  Alt 1. Feb 2018, 20:07
Jetzt muss ich Embacadero in Schutz nehmen.
Das ist kein Embacadero Problem das gleiche hatte ich auch unter C++ mit meinem KVPlayer.

Man sollte annehmen das die Funktion immer ein gleichbleibendes Ergebnis liefern sollte tut sie aber nicht.
Zudem wenn man ein Control Button, Label oder sonst was nicht darüber jagt ist es mit DPI vorbei.
Was ich mir bei Embacadero vorstellen könnte das sie irgend etwas nicht berücksichtigt\vergessen haben.

Code:
long dpi(IN long nPix) {
    static float ratio;
    if (ratio == 0) {
        HDC hDC = GetDC(0); ratio = (GetDeviceCaps(hDC, LOGPIXELSX) / 96.0f); ReleaseDC(0, hDC);
    }
    return (long)(nPix * ratio);
}
Den unterschied kann ich dann erkennen wenn ich die SkinEngine ausschalte und dann die normalen Button zum Vorschein kommen.
Alles ist irgendwie etwas verschoben vor allem was die Koordinaten angeht.
Es ist kein spezifisches Embacadero Problem.

gruss
  Mit Zitat antworten Zitat