Matthias Hanft
2015-01-11 14:04:37 UTC
Hallo,
bei Bedarf illustriere ich mein Problem gerne mit ein paar Screenshots,
aber vielleicht ist das ja ein bekannter Effekt:
Ich habe hier einen Desktop-PC mit einem Bildschirm von 1920x1200, auf
dem ich meine D7-Programme schreibe. Daneben gibt es noch einen Laptop
mit einem Bildschirm von 1920x1080. Auf beiden läuft Windows7/64.
Wenn ich nun ein auf dem Desktop compiliertes D7-EXE nehme, wo auf einem
Formular ein paar Buttons, StringGrids, Labels etc. drauf sind, kommt
es vor, daß die auf dem Laptop ganz woanders stehen und/oder unter-
schiedlich breit sind. Aktuell habe ich z.B. ein StringGrid, das auf
dem Laptop *breiter* ist als auf dem Desktop (so dass zwischen der
rechtesten Spalte und dem vertikalen Scrollbalken noch ein Zenti-
meter Platz ist, der auf dem Desktop-PC nicht da ist).
Ganz schlimm wird es, wenn ich Buttons auch "rechts" und/oder "unten"
verankere (damit sie beim Größerziehen des Formulars mitwandern und
z.B. ein "OK"-Button immer schön unten zwischen einen Memo-Feld und
dem unteren Rand des Formulars bleibt) - die sind dann oft gar nicht
mehr sichtbar.
Ich behelfe mir einstweilen damit, daß ich im FormShow-Ereignis "Top",
"Left", "Height" und "Width" der Controls an das Form.ClientRect (oder
so ähnlich) anpasse. Aber das ist natürlich umständlich und mühsam (und
schon gar nicht allgemeingültig).
Ganz an Delphi scheints allerdings auch nicht zu liegen: Auch bei
Fremdprogrammen sind auf dem Laptop Labels teilweise ineinander-
geschoben, Checkboxen nicht zugänglich etc. (naja, vielleicht
sind diese Fremdprogramme ja auch in Delphi geschrieben?!) :-)
Ist das ein bekannter Effekt, und/oder hängt das von der Bildschirm-
auflösung ab, oder wie kann man das als Programmierer möglichst all-
gemeingültig lösen?
Danke & Gruß Matthias.
bei Bedarf illustriere ich mein Problem gerne mit ein paar Screenshots,
aber vielleicht ist das ja ein bekannter Effekt:
Ich habe hier einen Desktop-PC mit einem Bildschirm von 1920x1200, auf
dem ich meine D7-Programme schreibe. Daneben gibt es noch einen Laptop
mit einem Bildschirm von 1920x1080. Auf beiden läuft Windows7/64.
Wenn ich nun ein auf dem Desktop compiliertes D7-EXE nehme, wo auf einem
Formular ein paar Buttons, StringGrids, Labels etc. drauf sind, kommt
es vor, daß die auf dem Laptop ganz woanders stehen und/oder unter-
schiedlich breit sind. Aktuell habe ich z.B. ein StringGrid, das auf
dem Laptop *breiter* ist als auf dem Desktop (so dass zwischen der
rechtesten Spalte und dem vertikalen Scrollbalken noch ein Zenti-
meter Platz ist, der auf dem Desktop-PC nicht da ist).
Ganz schlimm wird es, wenn ich Buttons auch "rechts" und/oder "unten"
verankere (damit sie beim Größerziehen des Formulars mitwandern und
z.B. ein "OK"-Button immer schön unten zwischen einen Memo-Feld und
dem unteren Rand des Formulars bleibt) - die sind dann oft gar nicht
mehr sichtbar.
Ich behelfe mir einstweilen damit, daß ich im FormShow-Ereignis "Top",
"Left", "Height" und "Width" der Controls an das Form.ClientRect (oder
so ähnlich) anpasse. Aber das ist natürlich umständlich und mühsam (und
schon gar nicht allgemeingültig).
Ganz an Delphi scheints allerdings auch nicht zu liegen: Auch bei
Fremdprogrammen sind auf dem Laptop Labels teilweise ineinander-
geschoben, Checkboxen nicht zugänglich etc. (naja, vielleicht
sind diese Fremdprogramme ja auch in Delphi geschrieben?!) :-)
Ist das ein bekannter Effekt, und/oder hängt das von der Bildschirm-
auflösung ab, oder wie kann man das als Programmierer möglichst all-
gemeingültig lösen?
Danke & Gruß Matthias.