获取无窗口RichEdit的HostWindow的方法

一般来说是无法直接通过调用接口的方式来获取无窗口RichEdit所处的HostWindow的,但是可以利用ITextHost的一些函数配合Win32API来得到HostWindow的窗口句柄

比如:

ITextHost *pHost;

//此处可以通过ITextServices的QueryInterface得到ITextHost的指针

然后调用pHost->TxSetCapture(TRUE)让窗口捕获鼠标,巧妙地地方就在这里,这时候你只要调用普通的Win32API:GetCapture()就可以得到HostWindow的窗口句柄了。注意获取完窗口句柄后要调用TxSetCapture(FALSE)释放鼠标。

你可能感兴趣的:(api)