Jump to content

Recommended Posts

Posted (edited)

It seems that ControlSetText() sends only the first character to Scintilla controls.

To see this, try the following:

Open a SciTE window

Put the following line into the window

ControlSetText("[CLASS:SciTEWindow]","","[CLASS:Scintilla;Instance:1]", 'here is some text')

and save the file.

Go to the beginning of the line.

Hit F5 to run the line.

What I see is that the single letter h overwrites the text in the window instead of the desired text.

Does anyone know how to get the Scintilla control to play nice? If not, is this a bug I should be reporting to the Autoit folks?

I would like to avoid ControlSend(), because it has trouble with Unicode.

Thanks for any tips.

--- original post ---

In an AutoIt script, I use ControlSetText() to send text to the Command window in the Stata statistical package.

In Stata 14, the Command window was changed to a Scintilla control which understands Unicode instead of a RichText control (which used Latin1 encoding). In the past, all worked well, now only the first character gets put in the control.

Here is an example which illustrates how it worked and now fails (which requires a running Stata 13 and a running Stata 14):

Opt("WinTitleMatchMode", 1)

## in Stata 13 and earlier, the Command window was a RichText control
ControlSetText("Stata/MP 13","","[CLASS:RichEdit20A;Instance:1]", "sysuse auto")
## result: 'sysuse auto' in the Command window
## in Stata 14, the Command window is a Scintilla control
ControlSetText("Stata/MP 14","","[CLASS:Scintilla;Instance:1]", "sysuse auto")
## result: the letter 's' in the Command window

I can use ControlSend() to send plain text successfully, but I'm betting it won't work properly with Unicode because the function is not Unicode-ready, yet.

Any hints about what I need to do to fix the problem?

I realize this is somewhat specialized because of the receiving software, but perhaps someone knows something about sending text to Scintilla Unicode-friendly controls.

Thanks for any help.

Edited by louabill
Found a more general way to ask the question

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...