![]() |
![]() |
![]() |
|
Как в поле ввода (строка) вставить некий текст в позицию курсора | ☑ | ||
---|---|---|---|---|
0
OFF
модератор
22.11.05
✎
08:04
|
по текущему положению курсора?
|
|||
1
Волшебник
модератор
22.11.05
✎
08:06
|
copy-paste
|
|||
2
OFF
модератор
22.11.05
✎
08:08
|
:) не канает
Вот тебе строка "v8: Как в поле ввода (строка <тут курсор>) вставить некий текст програмно" Вместо <тут курсор> требуеться загнать "неограниченной длины" |
|||
3
OFF
модератор
22.11.05
✎
09:47
|
? :)
|
|||
4
Волшебник
модератор
22.11.05
✎
09:48
|
(2) copy-paste канает
|
|||
5
Rovan
гуру
22.11.05
✎
09:51
|
может пойдет какой-нибудь SendKey( Ctrl-V )
|
|||
6
Волшебник
модератор
22.11.05
✎
09:53
|
(5) Я об этом толкую еще с первого поста.
|
|||
7
OFF
модератор
22.11.05
✎
12:01
|
Блин, ничего не понимаю :(
Толи лыжи, толи я :D ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ПолеHTMLДокументаБуфер", Ложь); ЛевоеОкно = ЭлементыФормы.ПолеHTMLДокументаБуфер.Документ.parentWindow; ЛевоеОкно.clipboardData.SetData("Text", "неограниченной длины"); wshShell = Новый COMОбъект("WScript.Shell"); // Вот то все перепробовал, результат "0" // В буфере то данные есть, если просто ручками нажать "Контр+v" //wshShell.sendKeys("^+(V)"); //wshShell.sendKeys("^+(М)"); //wshShell.sendKeys("^{V}"); //wshShell.sendKeys("^{М}"); //wshShell.sendKeys("^(V)"); //wshShell.sendKeys("^(М)"); //wshShell.sendKeys("^V"); //wshShell.sendKeys("^М"); Индекс=ЭлементыФормы.Индекс(ЭлементыФормы.Найти("ПолеHTMLДокументаБуфер")); ЭлементыФормы.Удалить(Индекс); |
|||
8
Волшебник
модератор
22.11.05
✎
12:08
|
может фокус установить на поле ввода?
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ПолеВвода; |
|||
9
OFF
модератор
22.11.05
✎
12:11
|
не помогает :(
ЭлементыФормы.Добавить(Тип("ПолеHTMLДокумента"), "ПолеHTMLДокументаБуфер", Ложь); ЛевоеОкно = ЭлементыФормы.ПолеHTMLДокументаБуфер.Документ.parentWindow; ЛевоеОкно.clipboardData.SetData("Text", "неограниченной длины"); ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Содержание; wshShell = Новый COMОбъект("WScript.Shell"); wshShell.sendKeys("^+(v)"); wshShell.sendKeys("^+(м)"); |
|||
10
Волшебник
модератор
22.11.05
✎
12:13
|
(9) Наверное, WScript.Shell не знает, куда посылать нажатия клавиш. Нужно найти окно текущего приложения.
|
|||
11
Волшебник
модератор
22.11.05
✎
12:14
|
(10)+
Shell.AppActivate("1С:Предприятие - НазваниеКонфигурации"); |
|||
12
OFF
модератор
22.11.05
✎
12:20
|
Пробовал, не помогает
Хоть Это пашет :D Процедура ПриОткрытии() Сообщить("Мидяяяяяяяяяяяяяяяяяяяяя", СтатусСообщения.Внимание); КонецПроцедуры Процедура КоманднаяПанельДействие1(Кнопка) wshShell = Новый COMОбъект("WScript.Shell"); wshShell.sendKeys("^+(z)"); wshShell.sendKeys("^+(я)"); КонецПроцедуры ЗЫ. и без всяких Shell.AppActivate("1С:Предприятие - НазваниеКонфигурации"); |
|||
13
Волшебник
модератор
22.11.05
✎
12:23
|
а плюс зачем?
WSHShell.SendKeys("^(C)"); |
|||
14
Волшебник
модератор
22.11.05
✎
12:25
|
||||
15
OFF
модератор
22.11.05
✎
12:30
|
(14) уже в буфере лежит :), вот из него не хотит :D, точнее не хотело :D
Теперь все нормально! ЗЫ. Все проблема в казахской и немецкой раскладках! Пошел курить и пить кофий :( ЗЫ. Стас, пасиб за терпение ! :D |
|||
16
Волшебник
модератор
22.11.05
✎
12:32
|
(15) По тем ссылкам есть и информация о том, как вставить из буфера. Но приятно, что проблема решена.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |