1
A
回答
1
好吧我解決了它。
您必須使用ITextDocument
接口來設置各種撤消模式。在此示例中Script_Edit
是TRichEdit
控件。
#include <Richole.h>
#include <Tom.h>
// Define the ITextDocument interface GUID
#define DEFINE_GUIDXXX(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
EXTERN_C const GUID CDECL name \
= { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
DEFINE_GUIDXXX(IID_ITextDocument,0x8CC497C0,0xA1DF,0x11CE,0x80,0x98,
0x00,0xAA,0x00,0x47,0xBE,0x5D);
IRichEditOle *IRich;
ITextDocument *IDoc;
// Get the IRichEditOle interface object
SendMessage(Script_Edit->Handle,EM_GETOLEINTERFACE,0,(LPARAM)&IRich);
// Get the ITextDocument interface
IRich->QueryInterface(IID_ITextDocument,(void**)&IDoc);
// Suspend the Undo recording
IDoc->Undo(tomSuspend,NULL);
... Do your stuff ...
// Resume the Undo recording
IDoc->Undo(tomResume,NULL);
// Release the interfaces
IDoc->Release();
IRich->Release();
的ITextDocument->Undo()
可以用於:
ITextDocument->Undo(tomFalse, NULL); //Prevents Undo and empties buffer.
ITextDocument->Undo(tomTrue, NULL); //Restarts Undo again.
ITextDocument->Undo(tomSuspend, NULL); //Suspends Undo.
ITextDocument->Undo(tomResume, NULL); //Resumes Undo.
我希望這可以給別人太大的用處...
1
見EM_SETUNDOLIMIT
消息:
設置了可以存放在豐富的編輯控件的撤銷隊列動作的最大數量。
參數
的wParam 指定的可存儲在撤消隊列動作的最大數量。
lParam 該參數未使用;它一定是零。
返回值
返回值是撤消了豐富的編輯控制動作的新的最大數量。如果內存有限,該值可能小於wParam。
備註
默認情況下,在撤銷隊列動作的最大數量是100如果增加這個數字,就必須有足夠的可用內存來容納新的號碼。爲了獲得更好的性能,請將限制設置爲儘可能最小的值。
將限制設置爲零將禁用撤消功能。
相關問題
- 1. 暫停和恢復功能
- 2. 撤消重做RichTextBox中使用撤消和恢復功能
- 3. 遊戲暫停/恢復功能
- 4. javascript如何暫停/恢復功能?
- 5. 定時器的暫停/恢復功能
- 6. CountdownTimer暫停和恢復功能
- 7. MediaRecorder中的暫停/恢復功能
- 8. 實現暫停/恢復功能
- 9. ActiveMQ的暫停/恢復功能無法正常恢復
- 10. 撤消bzr恢復
- 11. 撤消jQuery或恢復DOM?
- 12. jQuery Cycle在暫停時不能恢復
- 13. 如何實現文件下載的暫停和恢復功能?
- 14. 具有暫停和恢復功能的FTP客戶端
- 15. Android錄音機暫停和恢復功能
- 16. 下載時添加暫停和恢復功能
- 17. 如何在iPhone中實現暫停和恢復下載功能?
- 18. 如何將暫停/恢復功能添加到應用程序?
- 19. jquery倒計時暫停和恢復功能?
- 20. 具有暫停和恢復功能的JavaScript錄音機
- 21. 如何使用BackgroundWorker實現暫停和恢復功能c#
- 22. 如何添加暫停和恢復功能,而在Android的
- 23. C++中的基本暫停/恢復功能
- 24. 添加遊戲功能(暫停,恢復)到多個MVCS
- 25. 如何快速解決Libgdx中的暫停和恢復功能
- 26. 暫停/恢復jquery .animate()?
- 27. Android應用暫停恢復
- 28. AngularFire暫停/恢復同步
- 29. Twilio播放暫停/恢復
- 30. 暫停和恢復BackgroundWorker
+1的嘗試。謝謝你,但你的建議也是清除撤消緩衝區。我只想暫停緩衝區。我最終解決了這個問題。 –