Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
1-79924
Ivolg
2004-02-09 19:49
2004.02.25
Файл 2


1-79988
AGN
2004-02-13 09:52
2004.02.25
Ctrl+F


3-79571
mvg_first
2004-01-19 16:40
2004.02.25
Insert, Update, Delete своими руками


1-79833
VitGun
2004-02-10 21:12
2004.02.25
Delphi+Access+Word(OLE)+Excel(OLE)


4-80373
konstvd
2003-12-16 12:40
2004.02.25
Фокус на предыдущий котрол




   Наверх