Страница 1 из 2
как изменить текст в Edit в чужом окне?
Добавлено: 17 фев 2007, 18:19
BopoH
как изменить текст в Edit в чужом окне?
Re: как изменить текст в Edit в чужом окне?
Добавлено: 17 фев 2007, 21:18
Сейчас_не_спящий
??? что значит в чужом окне? Если ты имеешь в виду в другой форме, тогда так:
имя_формы.Edit1.Text := что_сюда_хочешь_то_и_пиши=);
Re: как изменить текст в Edit в чужом окне?
Добавлено: 17 фев 2007, 22:06
Blood_Magic
сначало ищешь окно (FindWindow), потом Edit в окне (FindWindowEx), потом изменяешь текст (SendWindow(найденный Handle,wm_SetText,..,..))
Re: как изменить текст в Edit в чужом окне?
Добавлено: 18 фев 2007, 17:15
BopoH
Ну про FindWindow и SendWindow понятно, а вот что за FindWindowEx можно по подробние или ссылочку плиз.
Re: как изменить текст в Edit в чужом окне?
Добавлено: 19 фев 2007, 08:54
somewhere
" писал(а):а вот что за FindWindowEx
почти тоже самое, что и FindWindow - только там задается еще Parent Window
FindWindowEx(phWnd, chWnd, lpClassName, lpWindowName);
phWnd - хендл родительского окна, передается найденное по FindWindow
chWnd - хендл подчиненного окна, нам неизвестен, пишем 0
lpClassName - для более точного поиска желательно знать имя класса
lpWindowName - имя окна, или Caption
имеем
Код: Выделить всё
h := FindWindowEx(hWnd, 0, 'TEditWindow', nil);
Re: как изменить текст в Edit в чужом окне?
Добавлено: 19 фев 2007, 18:14
BopoH
1.Захожу в Delphi, на форму form1 кидаю edit1(текст в нём удаляю), компилирую, откидываю.
2.Создаю новый проект, в ворме caption меняю на form, кидаю на неё Button1, по событию ButtonClick идёт следующий код:
h:=FindWindowEx(FindWindow(nil, 'form1'), 0, 'TEditWindow', nil);
sendmessage(h,wm_settext,0,lparam(lpctstr('текст который нужно вывести в Edit')));
Компилирую прогу 2.
запускаю прогу 1, запускаю прогу 2,жму в 2 на батон, в 1 как был Edit пустам, так и остался

Где бага?
p.s. на SendWindow кричит, что Undeclared identifier, мож подключать что надо??
Re: как изменить текст в Edit в чужом окне?
Добавлено: 20 фев 2007, 09:41
somewhere
" писал(а):SendWindow кричит, что Undeclared identifier, мож подключать что надо
Судя по параметрам, опечатка автора.
" писал(а):запускаю прогу 1, запускаю прогу 2,жму в 2 на батон, в 1 как был Edit пустам, так и остался
Где бага?
Ну раз на форме Edit, то имя класса у него TEdit, а не TEditWindow. Это я так, для примера, хотя такой класс есть - напоминает всем известный TMemo.
Re: как изменить текст в Edit в чужом окне?
Добавлено: 22 фев 2007, 20:36
BopoH
Сэнк, сработало. Вопрос следующий, на чужой форме два LabeledEdit, пишим в первый, мне надо писать во второй, не затрагивая содержимого
первого. И ещё, мне надо по нажатию кнопки открыть файл ассоциированой с ним прогой, путь к файлу в Edit.
Пробовал через ShellExecute, но там путь - ansichar
Re: как изменить текст в Edit в чужом окне?
Добавлено: 24 фев 2007, 19:23
BopoH
Блин, неужели никто не ответит???
Re: как изменить текст в Edit в чужом окне?
Добавлено: 24 фев 2007, 20:51
Blood_Magic
ну что там отвечать, первое вообще я не понял что ты спросил, а про второе не понял в чем проблема
ShellExecute(Handle,'open',PChar(Edit1.Text),nil,nil,SW_SHOWDEFAULT)