![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
RichEdit 3.0
olafpalmer © (2002-06-21 16:19:00)Люди! Работаю с TRichEdit компонентом и понадобилось мне приостанавливать запись действий в UNDO буфер и запускать ее снова. В TRichEdit такой возможности нет. Но MSDN сказала, что в RichEdit 3.0 компоненте вообщето такая возможность реализована.
pITextDocument->Undo(tomSuspend,NULL); //Suspends Undo.
pITextDocument->Undo(tomResum! e,NULL); //Resumes Undo.
Т.е. нужно как-то использовать интерфейс ITextDocument. Знаю, что компонент лежит в riched20.dll.
Как оттуда вытащить этот интерфейс и заставить его работать в DELPHI?
Или есть какой другой способ?
pj (2002-06-21 18:36:00) [1]TMyRichEdit = class(TMemo)
Protected
procedure CreateParams(var Params: TCreateParams); override;
Public
End;
procedure TMyRichEdit.CreateParams(var Params: TCreateParams);
Const
RichEditModuleName = "RICHED20.DLL";
HideScrollBars: array[Boolean] of DWORD = ($00002000, 0);
HideSelections: array[Boolean] of DWORD = (ES_NOHIDESEL, 0);
ES_DISABLENOSCROLL = $2000;
ES_VERTICAL = $400000;
TB_ENABLEBUTTON = $401;
Var
Res: TColor;
Begin
if ModuleHandle(RichEditModuleName) = 0 then
begin
FRichEditModule := LoadLibrary(RichEditModuleName);
If FRichEditModule <= HINSTANCE_ERROR then
FRichEditModule := 0;
end;
Inherited CreateParams(Params);
CreateSubClass(Params, "RichEdit20W");
with Params do
begin
Style := Style or HideScrollBars[FHideScrollBars] or
HideSelections[HideSelection] or ES_MULTILINE;
ExStyle := ExStyle;// or WS_EX_TRANSPARENT;
WindowClass.style := WindowClass.style and not (CS_HREDRAW or CS_VREDRAW);
end;
End;