hwndScintilla, SCI_GETDIRECTFUNCTION, 0, 0);
ptr = (void *)SendMessage(hwndScintilla, SCI_GETDIRECTPOINTER, 0, 0);
canundo = fn(ptr, SCI_CANUNDO,0,0);
上面的 "fn" 就是 Scintilla 控件的消息处理函数, "ptr" 就是我们每次调用消息处理函数必须用到的第一个参数。剩下的几个参数分别是 Scintilla 的 command(消息、命令) 和该 Command 的两个可选参数。
如何接受 Scintilla 的通知消息?
一旦某个事件触发了,而且 Scintilla 控件认为需要通知用户,它就会向该控件的父窗体发 WM_NOTITY 消息。 我们收到这个消息后需要根据该消息的实际数据结构进行处理。

我们可以在 Scintilla 的父窗体的消息处理函数中包含类似下面的代码:
NMHDR *lpnmhdr;
[...]
case WM_NOTIFY:
{
lpnmhdr = (LPNMHDR) lParam;
if(lpnmhdr->hwndFrom == hwndScintilla)
{
switch (lpnmhdr->code)
{
case SCN_CHARADDED:
{
* Hey, Scintilla just told me that a new *
* character was added to the Edit Control.*
* Now i do something cool with that char. *
}break;
}
}
}break;
Page contributed by Holger Schmidt.. libbyliugang translate it to chinese.:)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-53177-2.html
你的未来你决定