Nice! Thanks for the tip on the function, and the message parameters :)  I'm sure some of us will be needing this in the future.

Sean Healy wrote:
I have already tried it, but I cannot store more than 32 KB of text in a
Richedit field (using Win32::GUI::Richedit).
Those 32 kb of text takes around 48 kb of rich text, but it cannot store
more than that.

I have tried using the Load() and Save() methods  and I have also tried
creating the rich text manually and storing it in the field, but it  
doesn't
allow more than 32 kb of text.
    

Look at the Win32::GUI::RidhEdit methods GetLimittext(), SetLimitText(),  
and LimiteText().

An unfortunate misspelling on that last one; perhaps that can be fixed in  
a future version - as of 1.05 it's still LimiteText instead of LimitText  
Of course, both names may need to be kept for several versions, so as not  
to break any code that's using the misspelled version.

Here's some more info on the text size limit:

EM_LIMITTEXT Message

The EM_LIMITTEXT message sets the text limit of an edit control. The text  
limit is the maximum amount of text, in TCHARs, that the user can type  
into the edit control. You can send this message to either an edit control  
or a rich edit control.

For edit controls and Microsoft Rich Edit 1.0, bytes are used. For Rich  
Edit 2.0 and later, characters are used.

Syntax

To send this message, call the SendMessage function as follows. lResult =  
SendMessage( 	    // returns LRESULT in lResult
    (HWND) hWndControl, 	    // handle to destination control
    (UINT) EM_LIMITTEXT, 	    // message ID
    (WPARAM) wParam, 	    // = (WPARAM) () wParam;
    (LPARAM) lParam 	    // = 0; not used, must be zero
); 	


Parameters
wParam
Specifies the maximum number of TCHARs the user can enter. For ANSI text,  
this is the number of bytes; for Unicode text, this is the number of  
characters. This number does not include the terminating null character.

Rich edit controls: If this parameter is zero, the text length is set to  
64,000 characters.

Edit controls on Windows NT/2000/XP: If this parameter is zero, the text  
length is set to 0x7FFFFFFE characters for single-line edit controls or -1  
for multiline edit controls.

Edit controls on Windows 95/98/Me: If this parameter is zero, the text  
length is set to 0x7FFE characters for single-line edit controls or 0xFFFF  
for multiline edit controls.
lParam
This parameter is not used.

Return Value
This message does not return a value.

Remarks

The EM_LIMITTEXT message limits only the text the user can enter. It does  
not affect any text already in the edit control when the message is sent,  
nor does it affect the length of the text copied to the edit control by  
the WM_SETTEXT message. If an application uses the WM_SETTEXT message to  
place more text into an edit control than is specified in the EM_LIMITTEXT  
message, the user can edit the entire contents of the edit control.

Before EM_LIMITTEXT is called, the default limit for the amount of text a  
user can enter in an edit control is 32,767 characters.

Edit controls on Windows NT/2000/XP: For single-line edit controls, the  
text limit is either 0x7FFFFFFE bytes or the value of the wParam  
parameter, whichever is smaller. For multiline edit controls, this value  
is either -1 byte or the value of the wParam parameter, whichever is  
smaller.

Edit controls on Windows 95/98/Me: For single-line edit controls, the text  
limit is either 0x7FFE bytes or the value of the wParam parameter,  
whichever is smaller. For multiline edit controls, this value is either  
0xFFFF bytes or the value of the wParam parameter, whichever is smaller.

Rich Edit: Supported in Rich Edit 1.0 and later. Use the message  
EM_EXLIMITTEXT for text length values greater than 64,000. For information  
about the compatibility of rich edit versions with the various system  
versions, see About Rich Edit Controls.

Message InformationHeader	Declared in Winuser.h, include Windows.h
Minimum operating systems	Windows 95, Windows NT 3.1


See Also
Edit Controls Overview, EM_EXLIMITTEXT, WM_SETTEXT


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Perl-Win32-GUI-Users mailing list
Perl-Win32-GUI-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
http://perl-win32-gui.sourceforge.net/