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

Вниз

RichEdit   Найти похожие ветки 

 
VikOss   (2004-12-24 18:54) [0]

Народ ! Такая пробла : во вражеском приложении есть типа ричвию,ни какова едитирования и печатания, у меня есть ентот кампанент RichView . В проге я его выщемил HWND через FindWindow и т.д. НО СОДЕРЖИМОЕ НИКАК НЕ ВЫТАЩУ. Пмагите плииз, если мона с кодом примерным хатя бы, затр"""ся уже !!!


 
Просто Джо ©   (2004-12-25 03:43) [1]

Ну, если есть типа этат ричвию, то тагда, типа, можна забацать такую хрень: типа юзаешь такую GetWindowText, тока сначала выщемить не хило было бы длину текста, а патом, значить, юзать.
И не надо тр""""ся больше!

Примечание №1. Типа збацай так:


var
 L: Integer;
 Text: PChar;
begin
 L := GetWindowTextLength(AHandle);
 GetMem (Text,L);
 GetWindowText(AHandle,Text,L);
 ShowMessage (Text);
 FreeMem (Text);
end;


Примечание №2. А что, русский язык в школах уже выборочно преподают?


 
VikOss   (2004-12-29 19:25) [2]

В том то всё и дело, что через GetWindowText я пробовал - не получается. Я же специально написал RichView - там не просто текст а хрень всякая - ссылки и т.д и т.п. Он просто отображает енто всё. И даже через SendMessage(Wnd,WN_GETTEXT,длина текста,Integer(PChar(ss))) не получается !


 
Fay ©   (2004-12-29 19:48) [3]

EM_STREAMOUT?


 
VikOss   (2004-12-29 19:50) [4]

Пробовал, но чёто не врубился как его юзать, напиши плиз кусок кода.


 
Fay ©   (2004-12-29 20:13) [5]

function Jopa(dwCookie : Integer; pbBuff : PByte; cb : Integer; pcb : PInteger) : DWORD; stdcall;
begin
 Result := 0;
 ShowMessage(PChar(pbBuff));
end;

procedure TForm1.Button2Click(Sender : TObject);
const
 EM_STREAMOUT = WM_USER + 74;
 SF_RTF = $0002;
 SF_TEXT = $0001;
type
 EDITSTREAMCALLBACK = function(
   dwCookie : Integer; // application-defined value
   pbBuff : PByte; // data buffer
   cb : Integer; // number of bytes to read or write
   pcb : PInteger // number of bytes transferred
   ) : DWORD; stdcall;

 _editstream = packed record
   dwCookie : Integer;
   dwError : DWORD;
   pfnCallback : EDITSTREAMCALLBACK;
 end;

var
 es : _editstream;
begin
 FillChar(es, SizeOf(es), 0);
 es.pfnCallback := Jopa;
 SendMessage(RichEdit1.Handle, EM_STREAMOUT, SF_TEXT, LPARAM(@es));
end;


 
Fay ©   (2004-12-29 21:03) [6]

Хорошо бы вот так
function Jopa(dwCookie : Integer; pbBuff : PByte; cb : Integer; pcb : PInteger) : DWORD; stdcall;
begin
Result := 0;
pcb^ := cb;
ShowMessage(PChar(pbBuff));
end;


 
VikOss   (2004-12-30 16:41) [7]

Огромное всем спасибо !!!!


 
Fay ©   (2004-12-30 18:55) [8]

2 VikOss   (30.12.04 16:41) [7]
С наступающим! Удачи! 8)



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

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

Наверх




Память: 0.48 MB
Время: 0.057 c
1-1107762973
Edge
2005-02-07 10:56
2005.02.20
Запись сообщений сервиса в EventLog.


1-1107845162
Ega23
2005-02-08 09:46
2005.02.20
Финальная сборка DLL


1-1107845692
Меджид
2005-02-08 09:54
2005.02.20
Clipboard в Win98 и в WinXP


4-1104770694
STK
2005-01-03 19:44
2005.02.20
Открыть и закрыть чужую программу.


14-1107166520
Alexander Panov
2005-01-31 13:15
2005.02.20
Блин, флудеры.