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

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

Опознать строку ввода


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]

можно


Наверх

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