![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Опознать строку ввода
Pr Woll © (2007-02-22 21:17:00)У меня возникла небольшая проблема. У меня ловушка сообщений мыши и надо чтобы если мы наведем мышь на поле ввода (ну Edit), то моя прога распознала что это строка ввода и еще текст в ней узнала ... Можт это как-то через класс окна?
tytus (2007-02-23 12:12:00) [1]H:=WindowFromPoint(pt);
var
pt:TPoint;
tytus (2007-02-23 12:11:00) [2]var
buf:PChar;
Text:PChar;
wndClass,s:string;
lbCount:integer;
TextLen:integer;
begin
GetMem(buf,255);
FillChar(buf^,255,0);
H:=WindowFromPoint(TPoint);
if GetClassName(H,buf,255)>0 then wndClass:=StrPas(buf)
else
wndClass:='***';
if (UpperCase(wndClass)='TMEMO')or
(UpperCase(wndClass)='MEMO')or
(UpperCase(wndClass)='TRICHEDIT')or
(UpperCase(wndClass)='RICHEDIT')or
(UpperCase(wndClass)='TEDIT')or
(UpperCase(wndClass)='EDIT') then
begin
LBCount:=SendMessage(H,EM_GETLINECOUNT,0,0);
for i:=0 to LBCount-1 do
begin
TextLen:=SendMessage(H,EM_LINELENGTH,0,0);
TextLen:=TextLen+1;
GetMem(Text,TextLen);
SendMessageH,EM_GETLINE,i,Integer(Text));
s:=Trim(StrPas(Text));
RE1.Lines.Add(s);//RE1 - TRichEdit
FreeMem(Text);
end;
FreeMem(buf);
end;
Eraser (2007-02-22 23:34:00) [3]можно