Auf dem Gesicht von ihm sollten Sie in der Lage sein, dies die EM_LIMITTEXT
Nachricht mit steuern:
Die EM_LIMITTEXT Nachricht begrenzt nur den Text der Benutzer eingeben. Sie wirkt sich nicht auf Text aus, der sich bereits in dem Bearbeitungssteuerelement befindet, wenn die Nachricht gesandt wird, noch auf die Länge des Texts, der von der WM_SETTEXT-Nachricht zu dem Bearbeitungssteuerelement kopiert wird. Wenn eine Anwendung die WM_SETTEXT-Nachricht verwendet, um mehr Text in einem Bearbeitungssteuerelement zu platzieren, als in der EM_LIMITTEXT-Nachricht angegeben ist, kann der Benutzer den gesamten Inhalt des Bearbeitungssteuerelements bearbeiten.
Bevor EM_LIMITTEXT aufgerufen wird, ist das Standardlimit für die Textmenge, die ein Benutzer in einem Bearbeitungssteuerelement eingeben kann, 32.767 Zeichen.
Und diese Botschaft wird durch die MaxLength
Eigenschaft TEdit
ausgesetzt.
Die Einstellung von MaxLength
auf einen großen Wert scheint jedoch nicht hilfreich zu sein. Ich kann ein Steuerelement für einzelne Zeilen nicht dazu bringen, eine große Anzahl von Zeichen anzuzeigen.
Ich vermute, die einzige praktikable Option für Sie ist die Verwendung eines mehrzeiligen Bearbeitungssteuerelements, das ist ein TMemo
.
Ich bin sicher, MS würde argumentieren, dass einzelne Zeile Bearbeitungssteuerelemente nicht entworfen sind, um Tausende von Zeichen zu halten, und so haben sie keine Motivation, diese Kontrolle fähiger zu machen.
FWIW, mit der Unicode-Version der Steuerung scheint der Cutoff bei 37444 statt 37440 zu sein!
Wenn Sie ein ähnliches Betriebssystem verwenden, können Sie mehr als 37440 Zeichen anzeigen, wenn Sie '.' f.i verwenden. anstelle von 'X'. Dies impliziert, dass die in der MS-Dokumentation angegebenen Grenzen überhaupt nichts bedeuten, da Sie stattdessen willkürliche Grenzen durch Implementierungsdetails erreichen. –
Ja, in diesem Fall wird es in 43679 dots – EProgrammerNotFound
limite sein Und dann, wenn Sie die verwenden. , musst du nicht bei W-Versionen von API-Aufrufen bleiben, wenn du diese Zeichenfolge in einem verwendest? – Glenn1234