Главная страница
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.042 c
1-1107872707
Stype
2005-02-08 17:25
2005.02.20
Директория Windows


3-1106379757
makey22
2005-01-22 10:42
2005.02.20
Слишком много открытых файлов


1-1107341925
TP
2005-02-02 13:58
2005.02.20
Virtual ListView


4-1105200919
Лёха
2005-01-08 19:15
2005.02.20
BITMAP


4-1104936523
qwe
2005-01-05 17:48
2005.02.20
Инсталяция