我已经为我的编辑框实现了粘贴例程。 如果再次粘贴相同的缓冲区,我的意思是我一直按 ctrl + V ,如何有效地处理这个条件,以便我的代码更快?
COleDataObject obj;
if (obj.AttachClipboard()) {
if (obj.IsDataAvailable(CF_TEXT)) {
HGLOBAL hmem = obj.GetGlobalData(CF_TEXT);
CMemFile sf((BYTE*) ::GlobalLock(hmem), ::GlobalSize(hmem));
LPSTR str = buffer.GetBufferSetLength(::GlobalSize(hmem));
sf.Read(str, ::GlobalSize(hmem));
::GlobalUnlock(hmem);
// doing my work here using buffer
}