Win32 - Anhängen von Text an ein Bearbeitungssteuerelement

7

Versuchen, Text an ein Bearbeitungssteuerelement in einem Dialogfeld anzufügen. Ich kann _tcscat_s nicht korrekt anhängen. Es stürzt ab und sagt etwas über den Puffer, der zu klein ist oder etwas über eine null beendete Zeichenkette.

%Vor%     
ShrimpCrackers 02.05.2013, 01:32
quelle

2 Antworten

14

GetWindowTextLength() gibt die Anzahl der TCHAR -Elemente im Text zurück, aber GlobalAlloc() erwartet stattdessen eine Byteanzahl. Wenn Sie für Unicode kompilieren, ist TCHAR 2 Bytes, nicht 1 Byte, aber Sie berücksichtigen das nicht. Sie reservieren den Puffer auch nicht groß genug, um sowohl den vorhandenen Text als auch den angehängten neuen Text aufzunehmen. Sie verlieren auch den Speicher, den Sie zuordnen.

Versuchen Sie Folgendes:

%Vor%

Alternativ:

%Vor%

Wenn Sie den aktuellen Text des Fensters in den Arbeitsspeicher holen, ihn anhängen und dann den Text des Fensters ersetzen, ist das eine sehr ineffiziente Methode, Text an ein Bearbeitungssteuerelement anzuhängen. Verwenden Sie stattdessen die Nachricht EM_REPLACESEL :

%Vor%     
Remy Lebeau 02.05.2013, 01:51
quelle
8

Ссылка

Ist Ihre Antwort:

%Vor%     
fider 12.05.2014 20:34
quelle

Tags und Links