Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

RichEdit [D6, WinXP]


VikOss ©   (2004-12-24 18:54:00) 

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


Fay   (2004-12-30 18:55:00) [1]

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


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

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


Fay   (2004-12-29 21:03:00) [3]

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


Fay   (2004-12-29 20:13:00) [4]

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;


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

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


Fay   (2004-12-29 19:48:00) [6]

EM_STREAMOUT?


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

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


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

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

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


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


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо