An application sends an EM_SETTABSTOPS message to set the tab stops in a multiline edit control. When text is copied to the control, any tab character in the text causes space to be generated up to the next tab stop.
This message is processed only by multiline edit controls.
EM_SETTABSTOPS wParam = (WPARAM) cTabs; // number of tab stops lParam = (LPARAM) (LPDWORD) lpdwTabs; // tab stop array
If all the tabs are set, the return value is TRUE; otherwise, it is FALSE.
The EM_SETTABSTOPS message does not automatically redraw the edit control window. If the application is changing the tab stops for text already in the edit control, it should call the InvalidateRect function to redraw the edit control window.
The values specified by the lpdwTabs parameter are in dialog template units, which are the device-independent units used in dialog box templates. To convert measurements from dialog template units to screen units (pixels), use the MapDialogRect function.