windows_programming_notes.nbk: Home | Index | Next Page: WM_HELP | Previous Page: WM_GETTEXT


 WM_GETTEXTLENGTH

An application sends a WM_GETTEXTLENGTH message to determine the length, in characters, of the text associated with a window.

Syntax

To send this message, call the SendMessage function as follows.

    lResult = SendMessage(          // returns LRESULT in lResult     
        (HWND) hWndControl,         // handle to destination control     
        (UINT) WM_GETTEXTLENGTH,    // message ID     
        (WPARAM) wParam,            // = 0; not used, must be zero    
        (LPARAM) lParam             // = 0; not used, must be zero 
    );   

Parameters

Return Value

The return value is the length of the text in TCHARs, not including the terminating null character.

Remarks

For an edit control, the text to be copied is the content of the edit control. For a combo box, the text is the content of the edit control (or static-text) portion of the combo box. For a button, the text is the button name. For other windows, the text is the window title. To determine the length of an item in a list box, an application can use the [LB_GETTEXTLEN] message.

When the WM_GETTEXTLENGTH message is sent, the DefWindowProc function returns the length, in characters, of the text. Under certain conditions, the DefWindowProc function returns a value that is larger than the actual length of the text. This occurs with certain mixtures of ANSI and Unicode, and is due to the system allowing for the possible existence of double-byte character set (DBCS) characters within the text. The return value, however, will always be at least as large as the actual length of the text; you can thus always use it to guide buffer allocation. This behavior can occur when an application uses both ANSI functions and common dialogs, which use Unicode.

To obtain the exact length of the text, use the WM_GETTEXT, [LB_GETTEXT], or [CB_GETLBTEXT] messages, or the GetWindowText function.

Windows 2000/XP: Sending a WM_GETTEXTLENGTH message to a non-text static control, such as a static bitmap or static icon controlc, does not return a string value. Instead, it returns zero.

Message Information


windows_programming_notes.nbk: Home | Index | Next Page: WM_HELP | Previous Page: WM_GETTEXT


Notebook exported on Monday, 7 July 2008, 18:56:50 PM Eastern Daylight Time