| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Ввод данных в чужое окно. |
| Автор: HAS 26.7.2006, 09:38 | ||
Следующим кодом, если запущен блокнот, то он вызывает окно редактора шрифта
А как можно при помощи апи послать сообщение об измене шрифта или размера шрифта ?! спасибо. |
| Автор: Yanis 26.7.2006, 09:59 |
| HAS Посмотри пример Rennigth'а. http://forum.vingrad.ru/index.php?showtopic=58277 |
| Автор: HAS 26.7.2006, 11:41 |
| мне необходимо при помощи API в одно из окошек что-нибудь вписать |
| Автор: Romikgy 26.7.2006, 11:51 |
в каком окошке? в разных окошках по разному пишется |
| Автор: HAS 26.7.2006, 12:29 |
| Romikgy, вот я для примера и использую notepad. Код сверху вызывает окно редактора шрифта. ВОт я хочу узнать, как можно послать сообщение с изменением названия шрифта или размера шрифта ?! |
| Автор: Yanis 26.7.2006, 13:31 |
| HAS http://forum.vingrad.ru/index.php?showtopic=60006 |
| Автор: Romikgy 26.7.2006, 13:50 | ||
| причем здесь к
???????????????777 |
| Автор: HAS 26.7.2006, 14:04 |
| Вы меня непоняли. Я говорю, что это я использую для того, что бы разобраться в winapi. Это я использую просто для практики. Т.е. я хочу научиться работать с winapi. Мне необходимо вызвать окно редактора шрифта - вызвал. теперь, где поле шрифт, мне необходимо, при помощи winapi вписать произвольный текст, например test. Я спрашиваю это именно для того, что бы научиться вписывать даныые в поля чужих окон !!! т.е. вместо блокнота могло оказаться совсем другое приложение, блокнот я использую для наглядности !!! Добавлено @ 14:06 надеюсь Вы меня поняли ! |
| Автор: Romikgy 26.7.2006, 14:44 |
| в диалоге редактора шрифта используется , как бы , копонент Tedit , ему можно послать соосбщение на изменение текста WM_SETTEXT Добавлено @ 14:45 в диалоге редактора шрифта используется , как бы , копонент Tedit , ему можно послать соосбщение на изменение текста WM_SETTEXT |
| Автор: HAS 26.7.2006, 15:31 |
| Romikgy, вот какраз меня это и интересует, как послать сообщение на изменение текста и куда ее посылать. |
| Автор: Romikgy 26.7.2006, 16:40 |
| HAS, ищешь окно кому слать , его хендл FindWindow далее юзаешь функцию апи SendMessage с параметром и оно отсылается PS читаем хелп по вин апи |
| Автор: HAS 26.7.2006, 17:05 |
| Romikgy, ты же сам знаешь, что все не так просто А если там несколько edit'ов ?! и вообще, как узнать "адрес" каждого эдита ?! |
| Автор: Romikgy 26.7.2006, 17:07 |
| по очереди перебирай если несколько и не адрес , а хендл , он ищется файндвиндомом |
| Автор: HAS 26.7.2006, 18:18 |
| Romikgy, как ?! |
| Автор: Yanis 26.7.2006, 18:21 | ||
| HAS, А сразу написать так как в HAS Дата 26.7.2006, 15:04 нельзя было??? Неужели нельзя сразу вопрос сформулировать прежде чем на форум лезть....
P. S. Код нажатия кнопки OK думаю писать не нужно? |
| Автор: HAS 26.7.2006, 18:37 |
| Yanis, зачем же так иронично ?! ОГРОМНОЕ ТЕБЕ СПАСИБО ! ! ! |
| Автор: Yanis 26.7.2006, 18:48 |
| HAS, Пожалуйста. Добавлено @ 18:49 Добавлю немного... Не обязательно нажимать кнопку OK достаточно тому же hFontDlgCb послать нажатие VK_ENTER. |
| Автор: Yanis 27.7.2006, 09:03 |
| Romikgy Это странно так как должны быть 3 ComboBox'а со стилем csSimple. Скачай программу http://s0m.narod.ru/iws.html. Через неё посмотри что у тебя там на форме: edit или combobox. |
| Автор: Romikgy 27.7.2006, 10:03 | ||
дык с помощью ее и смотрел кса у меня вин 2000 мож изза этого ? |
| Автор: Yanis 27.7.2006, 10:14 |
Может быть. Негде проверить. А парент у этого edit'а кто? |
| Автор: Romikgy 27.7.2006, 10:44 |
ComboBox |
| Автор: Yanis 27.7.2006, 10:58 |
| Автор: _sten_ 13.12.2006, 00:01 |
| Мона SetWindowText использовать |
| Автор: Kenni 22.5.2007, 20:15 |
| У меня есть чюжое окно, там 2 Edit'a, как обратиться к этому окну и выснить кто есть кто, и во второй нужно вписать необходимую инфу... Заранее спасибо! |
| Автор: Yanis 23.5.2007, 12:59 | ||||||
Искать их в чужом окне (Поиск кстати обсуждался в этом топике. Поиск по форуму тоже поможет). Находить нужный Edit, различая его по ID. ID содержится в информации о окне. Т.е.:
+
|
| Автор: darkmamba 13.3.2009, 19:41 | ||
А как перебирать то ? как получить другой дескриптор компонента под одним названием если их напрмер там 5 ?
неподходит ибо ID у парочки = 0. Проще перебрать дескрипторы на наичие чилдовых но как это сделать ?) |
| Автор: darkmamba 13.3.2009, 20:15 | ||
|