Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
15-1158251137
Чародей
2006-09-14 20:25
2006.10.08
OpenGL® SuperBible, Third Edition


2-1158906189
qp
2006-09-22 10:23
2006.10.08
Build with runtime package - зачем?


15-1158627488
Mutnauq
2006-09-19 04:58
2006.10.08
D10Lite


2-1158663211
Уч
2006-09-19 14:53
2006.10.08
При сохранении изменяются значения Float-полей


15-1158559098
Курдль
2006-09-18 09:58
2006.10.08
Исключения, события и потокобезопасность.




   Наверх