Discussion:
Modales Fenster mit variabler Höhe in Abhängigkeit eines Memofeldes
(too old to reply)
Nicolas Bronke
2011-11-22 13:10:23 UTC
Permalink
Ich möchte gerne den ein oder anderen Windows-Dialog anpassen bzw. durch ein
andere ersetzen, damit man z.B. die Buttons mit eigenen Texten/Sprachen
versehen kann.

Hier ist auch ein Memofeld integriert, in dem unterschiedlich langer Text
eingetragen werden kann.
Null soll sich die Höhe des Forms beim aufruf so automatisch anpassen, in
Abhängigkeit, wieviel Text/Zeilen in das Memofeld einbunden wird. Ich habe
das mal mit

height := 200+ ((mMSG.Lines.Count-1) * 25);
mMSG.Height:=mMSG.Lines.Count * 16;

versucht. Das klappt auch i.d.R. Nur bei einem neuen Notebook, der
Widescreen mit 1900*1050 kann, scheint das nicht zu funktionieren, da die
Höhe aber auch die Breite des Dialoges irgendwie kleiner angezeigt wird.
Hat jemand hierzu eine Idee?

Grüße
Nicolas
Maarten Wiltink
2011-11-22 23:23:04 UTC
Permalink
Post by Nicolas Bronke
Ich möchte gerne den ein oder anderen Windows-Dialog anpassen bzw.
durch ein andere ersetzen, damit man z.B. die Buttons mit eigenen
Texten/Sprachen versehen kann.
Hier ist auch ein Memofeld integriert, in dem unterschiedlich langer
Text eingetragen werden kann.
Null soll sich die Höhe des Forms beim aufruf so automatisch anpassen,
in Abhängigkeit, wieviel Text/Zeilen in das Memofeld einbunden wird.
Ich habe das mal mit
height := 200+ ((mMSG.Lines.Count-1) * 25);
mMSG.Height:=mMSG.Lines.Count * 16;
versucht. Das klappt auch i.d.R. Nur bei einem neuen Notebook, der
Widescreen mit 1900*1050 kann, scheint das nicht zu funktionieren,
da die Höhe aber auch die Breite des Dialoges irgendwie kleiner
angezeigt wird.Hat jemand hierzu eine Idee?
Magic numbers are always suspect. There is no guarantee whatsoever
that a line will be 16 or 25 pixels high. This depends on the font
size. I refer you to its properties; I don't know which but it's there.

Additionally, the font size can be changed globally in Windows. This
may require an additional correction factor.

Groetjes,
Maarten Wiltink

Loading...