![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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. А что, русский язык в школах уже выборочно преподают?