我无法弄清楚如何正确使用 EM_SETHANDLE 机制来设置编辑控件的文本。获取和设置窗口文本对于我的应用程序来说太慢了。
从文档中,我了解到分配的缓冲区将被控件起诉,它对我部分有效。
当在控件中输入文本时,它会在缓冲区中看到,但是当使用 memcpy 等更新缓冲区时(代码中没有错误),更新后的文本将无法正确显示。我什至在每次更新后都尝试了 EM_SETHANDLE (SetHandle() ),但在几次尝试后它失败了。存在某种堆分配失败。RedrawWindow() 也不起作用。
我无法在网上获得有关使用情况的任何适当信息。帮助!
我的代码,留下了应用程序的具体细节,看起来像这样。
// init
HANDLE m_hMem = HeapAlloc(...)
m_edit.SetHandle(m_hMem)
// on some event
char *pbuf = (char*)m_hMem;
memcpy(...)
提前致谢