Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Как скопировать выделенный текст...   Найти похожие ветки 

 
MetalFan ©   (2004-02-10 15:00) [0]

...из TRichedit с сохранением форматирования не используя CopyToClipboard & PasteFromClipboard
Спасибо за внимание!


 
Oyster ©   (2004-02-10 15:20) [1]

А чем эти не нравятся?


 
MetalFan ©   (2004-02-10 15:34) [2]

ну если б нравился, я бы не спрашивал...
нужно!
если кто сталкивался, хелп плз!


 
Семен Сорокин ©   (2004-02-10 15:35) [3]

RichEdit1.Lines.SaveToStream();
RichEdit1.Lines.LoadFromStream();


 
MetalFan ©   (2004-02-10 15:49) [4]

пасиб...
но мне нужно ВЫДЕЛЕННЫЙ фрагмент текста с форматированием!!!


 
MBo ©   (2004-02-10 15:53) [5]

EM_STREAMIN/OUT


 
MetalFan ©   (2004-02-10 15:54) [6]

а примеров нет?
я как раз к STREAMIN/OUT и подошел...


 
MetalFan ©   (2004-02-10 15:55) [7]

только в они по ходу работают с содержанием всего ричедита(


 
MBo ©   (2004-02-10 15:58) [8]

SFF_SELECTION


 
MetalFan ©   (2004-02-10 16:00) [9]

сорри за невнимательность) счас буду разбираться...
а как использовать callback функцию?


 
MetalFan ©   (2004-02-10 16:43) [10]

неработает(

function AnEditCopyStreamCallBack(dwCookie: Longint; pbBuff: PByte;
cb: Longint; var pcb: Longint): Longint; stdcall;
var
lStrm:TStream;
begin
lStrm:=TStream(pointer(dwCookie));
pcb:=lStrm.Write(pbBuff,cb);
end;

function CopySelText(ARich: TRichEdit): TStream;
var
lEditStream: EDITSTREAM;
lWParam:integer;
begin
result:= TMemoryStream.Create;
zeroMemory(@lEditStream,SizeOf(EDITSTREAM));
lEditStream.pfnCallback:=AnEditCopyStreamCallBack;
lEditStream.dwCookie:= integer(result);
lWParam:= SF_RTFNOOBJS or SFF_SELECTION;
ARich.Perform(EM_STREAMOUT,lWParam, integer(@lEditStream));
end;

function AnEditPasteStreamCallBack(dwCookie: Longint; pbBuff: PByte;
cb: Longint; var pcb: Longint): Longint; stdcall;
var
lStrm:TStream;
begin
lStrm:=TStream(pointer(dwCookie));
pcb:=lStrm.Read(pbBuff,cb);
end;

function RichPasteStream(ARich:TRichEdit; aStream:TStream):boolean;
var
lEditStream: EDITSTREAM;
lWParam:integer;
begin
zeroMemory(@lEditStream,SizeOf(EDITSTREAM));
aStream.Seek(0,0);
lEditStream.pfnCallback:=AnEditPasteStreamCallBack;
lEditStream.dwCookie:= integer(aStream);
lWParam:= SF_RTF or SFF_SELECTION;
result:=ARich.Perform(EM_STREAMIN,lWParam, integer(@lEditStream))=0;
end;


 
MBo ©   (2004-02-10 16:48) [11]

http://216.101.185.148/scripts/isapi.dll/article?id=20CEA97E&article=1079370


 
MetalFan ©   (2004-02-10 17:04) [12]

big thnx!
работает)))



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
1-79739
Oleg_
2004-02-11 16:45
2004.02.25
Ошибка открытия файла через TFileStream


6-80052
S@shka
2003-12-19 10:13
2004.02.25
Кто нибудь может четко объяснить разницу между ServerSocketType


3-79583
Vi0let
2004-01-29 03:33
2004.02.25
В гриде с TTable, полоса прокрутки принимает строго 3 положения:


1-79898
Dr.Karter
2004-02-10 08:26
2004.02.25
Восстановление удаленных файлов


1-79974
dimon1979
2004-02-13 14:40
2004.02.25
Кодировка цвета