Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.08;
Скачать: CL | DM;

Вниз

Вставить текст в другую программу.   Найти похожие ветки 

 
worldmen ©   (2006-09-14 13:59) [0]

Как вставить текст в другую форму.
Само окно я могу найти (findWindow).
Если известно что там есть компонент Edit (туда нужно вставить).


 
default ©   (2006-09-14 14:06) [1]

ординарно: WM_SETTEXT
неординарно: сохранить значение буфера обмена винды, записать туда помещаемую в един строку, послать едиту сообщение WM_PASTE, восстановить значение буфера обмена


 
worldmen ©   (2006-09-14 15:03) [2]

> послать едиту сообщение WM_PASTE
А как его (Edit) найти?


 
worldmen ©   (2006-09-14 15:04) [3]

Как найти Edit, если из на форме два штуки?


 
default ©   (2006-09-14 15:15) [4]

worldmen ©   (14.09.06 15:04) [3]
используй лучше WM_SETTEXT
WM_PASTE это я так привёл...вчера вопрос про буфер тут был вот у меня с буфером ассоциации и возникли:)


> Как найти Edit, если из на форме два штуки?

FindWindowEx


 
worldmen ©   (2006-09-15 12:56) [5]

Я не понял как искать Edit спомощью FindWindowEx.
HWND FindWindowEx(
  HWND hwndParent,     // дескриптор родительского окна
  HWND hwndChildAfter, // дескриптор дочернего окна
  LPCTSTR lpszClass,     // указатель имени класса
  LPCTSTR lpszWindow   // указатель имени окна
);


Я сделал пример. Сделал форму и кинул на нее TEdit. Имя окна "Тест"
В другой форме ищу

procedure TMonitor.Button1Click(Sender: TObject);
var Wnd : HWND;
   edt : HWND;
   f : TForm1;
begin
 Wnd :=FindWindow(nil,"Тест");  // находим окно
 edt:= FindWindowEx(wnd,0,"TEdit",Тест); // ищем компонент - наверное неправильно
 SendMessage(edt,WM_SETTEXT,0,lparam(LPCTSTR("передать строку")))
end;


 
default ©   (2006-09-15 13:21) [6]

вот так работает
procedure TForm1.Button1Click(Sender: TObject);
var
 Wnd : HWND;
 edt : HWND;
 f : TForm1;
begin
Wnd :=FindWindow(nil,"Form1");  // находим окно
Assert(Wnd <> 0, "Wnd");
edt:= FindWindowEx(Wnd,0,"TEdit",nil);
Assert(Wnd <> 0, "edt");
SendMessage(edt,WM_SETTEXT,0, lparam(LPCTSTR("передать строку")))
end;


 
worldmen ©   (2006-09-15 13:24) [7]

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



Страницы: 1 вся ветка

Текущий архив: 2006.10.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
1-1156235593
Паблос
2006-08-22 12:33
2006.10.08
Неправильная рамка окна TCustomDockForm


2-1159097390
Серый
2006-09-24 15:29
2006.10.08
MainMenu


10-1124282721
ancara
2005-08-17 16:45
2006.10.08
Ширина столбцов в таблице Word


15-1158424188
*Новенький*
2006-09-16 20:29
2006.10.08
Словарик интернетчика.


2-1158471153
SamProf
2006-09-17 09:32
2006.10.08
Как слкладывать два mainmenu