Главная страница
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.079 c
1-79984
Kirill_S
2004-02-13 14:47
2004.02.25
XPManifest - помогите разобраться


3-79660
tchn1
2004-01-30 03:21
2004.02.25
каким сделать интерфейс


14-80112
N169
2004-02-02 16:32
2004.02.25
Программист назвал сына версией 2.0 :)


1-79973
Delph
2004-02-12 16:46
2004.02.25
String to Data


14-80226
Думкин
2004-02-05 06:28
2004.02.25
С днем рождения! 5 февраля.