I am writing an application with WxWidgets, and have run into an issue with a multiline text control (wxTextControl). It is the input field in a chat window, and it needs to be multi line in case the user types a longer message that needs to wrap. I want the send event, e.g. the action that is taken when the Send button is pressed, to be executed when the user presses enter in the control. I have this working using the wxEVT_COMMAND_TEXT_ENTER event, with the wxTE_PROCESS_ENTER style enabled. However, the problem is that while the send command does get executed, a new line character \n is also appended to the text (this happens after the send command and after I have cleared the text, resulting in an empty field except for a new line). I tried to avoid this by trapping both char and key down events, but for some reason they are not firing.
I simply want to avoid the new line being shown at all. Does anyone have any tips?
I am developing on Windows, but the application is meant to run on all platforms supported by WxWidgets.
You might track
wxEVT_COMMAND_TEXT_UPDATEDand clear the editor when a new-line is entered (it assumes you are also clearing the editor when Enter is pressed).