Well yeah I kind of figured that.  I was just trying to make sure I had the right idea about it being a pointer.

And for niel no I'm not related to that guy and thanks for all of your help did some looking at the specified sources and got an implimentation working :)

Robert Roessler <[EMAIL PROTECTED]> wrote:
Stewart Obert wrote:
> I'm trying to build macro recording into the Scintilla Class/ActiveX
> I've been working on.
>
> I'm a bit lost on this one though. As near as I can guess from looking
> at other sources is lParam is the pointer in memory where the character
> was entered if I entered say the letter p, or perhaps if I pasted
> something into it. However I've tried getting the data stored at that
> pointer and just gotten a lot of us! eless information.
>
> So as it stands I'm at a bit of a loss on what exactly is happening and
> I would need to handle and how I would need to handle it to catch the
> neccisary info. The way I see it I need one bit of information most the
> time, and occasionally 2.
>
> As I see it if a paste or copy, event or something of that nature is
> called then I just need to send that msg to scintilla. That's easy
> enough.
>
> Where I run into problems is entering text. If I ! say enter the
> character "f" then I need to I presume know which character was
> entered. I thought I could use the scMsg variable I have which is
> derived from the SCNotification type (just SCNotification converted from
> C++ to VB) and call scMsg.ch. That unfortunatly did not work. I'm
> guessing that the ch only has something assigned to it when entered.
>
> Anyway as it stands w! hat I've done as a bit of a hack is created a
> variable that each time text is added I store the ch to it. Then when
> scn_macrorecord is called I pass that with it.
>
> This works but I figure there must be a better way. Any help is greatly
> appreciated. Thanks

The trivial comment is that, as stated in the ScintillaDoc.html
description of the SCNotification struct, ch is only set for the
SCN_CHARADDED and SCN_KEY notifications.

The model for macro recording (at least as I see it) is not what you
think... you really are just getting what is passed in to Scintilla.
So what I think this translates to for your case is that you should be
seeing SCN_MACRORECORD notifications with a message value like
SCI_INSERTTEXT, a wParam with a char count, and an lParam pointing to
a char string.

Further, it is up to client code (or an extended "smart" wrapper) to
copy these for possible future playback... in particular, as I see it
from the doc (but without checking the code), you would need to stash
copies of any strings yourself and use *those* when doing a playback.
I expect this is true if what is being passed in is indeed the "raw"
data from the Scintilla calls (nothing constrains a Scintilla client
to keep pointer values valid indefinitely).

Robert Roessler
[EMAIL PROTECTED]
http://www.rftp.com
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest


Yahoo! Photos – Showcase holiday pictures in hardcover
Photo Books. You design it and we’ll bind it!
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to