Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вставить текст в ЛЮБОЙ контрол

20K
16 марта 2007 года
B.G.
14 / / 16.03.2007
Помогите разобраться. Надо:
1. Вставить текст
2. Программно нажать Ctrl+V (или типа того)
Контрол просто из веб-страницы, хэндла найти не могу
2.0K
16 марта 2007 года
nevile
138 / / 05.01.2007
А использовать Clipboard. Для вставки используй Компонент.PasteFromClipboard;
257
16 марта 2007 года
kosfiz
1.6K / / 18.09.2005
вообщем я так понимаю ты хочешь вставить текст из буфера, тогда сделать можно так:
1. я предполагаю, что текст в буфер ты знаешь как поместить;
2. помещаешь куда надо курсор, т.е. над полем, в которое надо вставить текст;
3. кликаешь мышкой, это я уже объяснял как сделать;
4. вставляешь текст так:
 
Код:
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(ord('V'),0,0,0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
keybd_event(ord('V'), 0, KEYEVENTF_KEYUP, 0);
20K
19 марта 2007 года
B.G.
14 / / 16.03.2007
А если просто любой текст (а не из буфера, он уже используется)??? Заранее спасибо.
261
19 марта 2007 года
ahilles
1.5K / / 03.11.2005
ну тогда через Get/SetwindowText
сначала получаешь то что там было потом модифицируешь эту строку и устанавливаваешь текст
257
19 марта 2007 года
kosfiz
1.6K / / 18.09.2005
2 B.G.
[quote=B.G.]А если просто любой текст (а не из буфера, он уже используется)???[/quote]
вот здесь могут возникнуть определенные сложности. приведу примерчик:
1. вводим текст на русском
Код:
var s:string;
i:word;
hk:HKL;
..............
s:='привет';
hk:=LoadKeyBoardLayout(PChar('00000419'),KLF_ACTIVATE);
for i:=1 to length(s) do
  begin
    keybd_event(VkKeyScanEx(s,hk),0,0,0);
    keybd_event(VkKeyScanEx(s,hk), 0, KEYEVENTF_KEYUP, 0);
  end;

2. вводим текст на инглише
Код:
var s:string;
i:word;
hk:HKL;
..............
s:='hello';
hk:=LoadKeyBoardLayout(PChar('00000409'),KLF_ACTIVATE);
for i:=1 to length(s) do
  begin
    keybd_event(VkKeyScanEx(s,hk),0,0,0);
    keybd_event(VkKeyScanEx(s,hk), 0, KEYEVENTF_KEYUP, 0);
  end;

как видишь приходится еще с раскладкой разбираться, потому что если ты хочешь ввести текст на русском, а в приложении инглиш, то ничего из этого не выйдет либо вообще ничего не введешь либо что-то не то будет виднется. может можно проще, но я попроще способа не знаю. кстати в приведенном мной примере не всегда удастся ввести русский текст, например в опере не прошло это(можно попробовать еще один способ смены раскладки, но он вроде сведется в итоге к этому). так что может все-таки лучше будет использовать буфер(хотя можно эмулировать нажатие ctrl+shift или alt+shift).
2 ahilles
[quote=ahilles]ну тогда через Get/SetwindowText
сначала получаешь то что там было потом модифицируешь эту строку и устанавливаваешь текст[/quote]
а ты предыдущие посты и вопросы читаешь? ну-ка попробуй с помощью SetWindowText записать текст в Edit справочника функций на этом форуме. в SetWindowText первый параметр хендл Edit'а должен быть, а ты сможешь его найти(что элементы хтмл[точно не знаю как называются] тоже окна?)? если сможешь и примерчик дашь(прожку напишешь), который(ая) это все делает(но обязательно через SetWindowText и код будет короче того, что я привел) я тебе даже отзыв положительный влеплю:).
20K
22 марта 2007 года
B.G.
14 / / 16.03.2007
А никак нельзя добраться к Браузеру, как к объекту и работать с его компонлентами??? что-то типа ObjExplorer.document.getElementbyID('someID').value???
4.6K
22 марта 2007 года
Tokolist
268 / / 22.03.2007
[QUOTE=B.G.]А никак нельзя добраться к Браузеру, как к объекту и работать с его компонлентами??? что-то типа ObjExplorer.document.getElementbyID('someID').valu e???[/QUOTE]

Можно. Смотри здесь
http://delphi.about.com/od/adptips2006/qt/wb_execscript.htm

Таким образом можна исполнить любой жава-скрипт, тоесть с помощью жава-скриптов можно менять содержимое хтмл-страницы. Но они (жава-скрипты) должны быть включены у пользователя.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог