Benutzer mit den meisten Antworten
Control Size anhand von Font - Größe ausrechnen

Frage
Antworten
-
Nun ja, ein Control wird so groß wie Du es nun mal möchtest ;).
Wenn Du meinst wie groß man ein Edit Control gemäß Styleguides macht ist das eine andere Frage.
Das Ganze rechnet sich am einfachsten in DLUs (Dialog Base Units)
Die DLUs für einen Font bekommst Du so:
http://support.microsoft.com/kb/125681/en-us
Ist der Font der gesetzte Font des aktuellen Fensters (Dialogs), dann kannst Du einfach MapDialogRect verwenden um die Werte für eine DLU Einheit zu bekommen, oder wie nachfolgend beschrieben Daten umzurechnen.
Grundregel Edit Control mit Rahmen: Höhe = 12DLUs, Weite = (Zeichenanzahl+2)*4
Grundregel Edit Control ohne Rahmen: Höhe = 8DLUs, Weite = Zeichenanzahl*4
Combobox Control: Höhe = Was immer Du willst (wobei minimale Höhe=14 DLUs, Zeilenhöhe=8DLUs, d.h. 10 Sichtbare Zeilen = 14+10*8 DLUs), Weite wie Edit
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Martin RichterModerator Montag, 11. Mai 2009 12:40
- Als Antwort markiert Martin RichterModerator Dienstag, 12. Mai 2009 06:43
-
Doch gefunden:
http://msdn.microsoft.com/en-us/library/aa511258.aspx
besonders:
http://msdn.microsoft.com/en-us/library/aa511440.aspx
Das sind auch nur so ca. 500 Seiten... ;)
Da findest Du auch so etwas wasich hier beschrieben habe, obwohl nach dieser Doku ein Edit Control jetzt 14DLUs hat... na ja. Ich bleibe bei 12 und es ist auch gut.
Siehe hier als Sample: http://msdn.microsoft.com/en-us/library/aa511494.aspx#sizing
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert Martin RichterModerator Donnerstag, 14. Mai 2009 12:36
Alle Antworten
-
Nun ja, ein Control wird so groß wie Du es nun mal möchtest ;).
Wenn Du meinst wie groß man ein Edit Control gemäß Styleguides macht ist das eine andere Frage.
Das Ganze rechnet sich am einfachsten in DLUs (Dialog Base Units)
Die DLUs für einen Font bekommst Du so:
http://support.microsoft.com/kb/125681/en-us
Ist der Font der gesetzte Font des aktuellen Fensters (Dialogs), dann kannst Du einfach MapDialogRect verwenden um die Werte für eine DLU Einheit zu bekommen, oder wie nachfolgend beschrieben Daten umzurechnen.
Grundregel Edit Control mit Rahmen: Höhe = 12DLUs, Weite = (Zeichenanzahl+2)*4
Grundregel Edit Control ohne Rahmen: Höhe = 8DLUs, Weite = Zeichenanzahl*4
Combobox Control: Höhe = Was immer Du willst (wobei minimale Höhe=14 DLUs, Zeilenhöhe=8DLUs, d.h. 10 Sichtbare Zeilen = 14+10*8 DLUs), Weite wie Edit
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort vorgeschlagen Martin RichterModerator Montag, 11. Mai 2009 12:40
- Als Antwort markiert Martin RichterModerator Dienstag, 12. Mai 2009 06:43
-
Die Regeln habe ich Dir oben schon beschrieben, siehe meine Antwort.
Das ist ein richtiges Buch!
Die Style Guides finde ich aktuell nicht bei MSDN. Komisch... aber über Google findest Du das Buch auch auch.
Such einfach mal nach: "Official Guidelines for User Interface Developers and Designers"
Du wirst einen 400 Seiten Schmöcker finden.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Bearbeitet Martin RichterModerator Donnerstag, 14. Mai 2009 12:36 Typos
-
Doch gefunden:
http://msdn.microsoft.com/en-us/library/aa511258.aspx
besonders:
http://msdn.microsoft.com/en-us/library/aa511440.aspx
Das sind auch nur so ca. 500 Seiten... ;)
Da findest Du auch so etwas wasich hier beschrieben habe, obwohl nach dieser Doku ein Edit Control jetzt 14DLUs hat... na ja. Ich bleibe bei 12 und es ist auch gut.
Siehe hier als Sample: http://msdn.microsoft.com/en-us/library/aa511494.aspx#sizing
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert Martin RichterModerator Donnerstag, 14. Mai 2009 12:36