|
|
#1 |
|
Участник
|
привет всем, с помощью WinAPI открываю форм разные,и заполняю что надо, совет нужен,что б набить в нужное место,как узнать где стоит курсор...
вообщем есть WinAPI функция и есть переменная( слово которое должно вестись) а как мне узнать или куда набить
|
|
|
|
|
#2 |
|
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
|
|
#3 |
|
Участник
|
Вы это делаете из Аксапты? То есть у вас есть FormRun?
Или из постороннего приложения, где у вас есть только хэндл окна? Какую информацию вы имеете о поле, в которое нужно вставить требуемое значение? Название, хэндл? |
|
|
|
|
#4 |
|
Участник
|
привет kashperuk, делаю в аксапте,есть отдельная форма задач,которые все параматры указывается, например : открыть форму, выбрать кого то ит.д.
X++: client static void openForm(Str words) { FormRun fr; fr = classFactory.formRunClass(new Args(words)); fr.init(); fr.run(); fr.detach(); } |
|
|
|
|
#5 |
|
Участник
|
Ну, вообще-то, конкретно на этой форме (PurchCreateOrder) уже есть такой метод. Вам стоило бы сделать аналогично, или немного допилить этот метод. К примеру, вот так
X++: void SetVendorAndExit(DlvDate _deliveryDate = BMRandom::randomDay(), VendAccount _orderAccount = appl.BmDataBank().tableKey(tableNum(VendTable))) /* Benchmark - START */ { purchTable_DeliveryDate.setFocus(); purchTable_DeliveryDate.pasteText(strFmt('%1',_deliveryDate)); purchTable_OrderAccount.setFocus(); purchTable_OrderAccount.pasteText(_orderAccount); vendorName.setFocus(); element.setTimeOut(identifierstr(closeOK),100,false); } /* Benchmark - END */ Вызывать из Вашей формы можно было бы так. X++: client static void openForm(Str words) { FormRun fr; Object frObj; fr = classFactory.formRunClass(new Args(words)); fr.init(); fr.run(); frObj = fr; frObj.SetVendorAndExit(SystemDateGet(), <AccountNum>); } |
|
|
|
|
#6 |
|
Модератор
|
Цитата:
Сообщение от Daido
форма открывается,скажем заказ на покупку, WinAPI нажимает CTRL+N и открывает форма поставщиков, во скажем я не выбираю из выпадающего списка, а тупо набиваю туда код поставщика и далее так же дата и все такое, но я буквы не с помощью WinAPI, из спсика задач хочу брать и набить в нужное место
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
|
|
#7 |
|
Модератор
|
Цитата:
Сообщение от Daido
форма открывается,скажем заказ на покупку, WinAPI нажимает CTRL+N и открывает форма поставщиков, во скажем я не выбираю из выпадающего списка, а тупо набиваю туда код поставщика и далее так же дата и все такое, но я буквы не с помощью WinAPI, из спсика задач хочу брать и набить в нужное место
А проще нельзя никак? Может, как-нить без WinApi, а? |
|
|
|
|
#8 |
|
Участник
|
конешно лучше без WinApi,но проект разработан до меня,надо как всегда до ума довести
всем спасибо заусатия,в понедельник продолжим,поюзаем дальше
|
|
|
|
|
#9 |
|
Участник
|
Цитата:
Прокрай ней мере из тех обрывков информации о задачи можно понять, что WinApi здесь точно никто бы не стал использовать. Хотя бывают сюрпризы. Да и когда пишите. Хотя бы один раз прочтите, что пишите. Текст очень плохо читается. Я не про ошибки.
|
|
|
|
| За это сообщение автора поблагодарили: Daido (1). | |
|
|
#10 |
|
Участник
|
Доброе утро господа!!! Вообщем вопрос остается открытым или я может не правильно сформировал вопрос (I not russian), попробую ещё раз, WinApi открывает форму нужную, нажимает TAB переходим в нужое место,и надо набить данные.
P.s. Тут как реализовано: сначало состовляется список задач в отдельной таблице, например как: 1.Открыть форму PushTable 2. Выбор поставщика 00000001 3. Создания заказа,выбор номенклатур и т.д. а далее WinApi набивает даные из этой таблицы. Открываю и перехожу с TAB-ом, но не знаю как вессти данные или буффером воспользоваться что-ль (copy\paste)
|
|
|
|
|
#11 |
|
Moderator
|
Цитата:
P.S. Я сам пользовался подобным подходом в гриде формы SysQueryForm и обнаружил следующую особенность: способ устойчиво срабатывал так, как мне хотелось, только в том случае, когда фокус предварительно устанавливался на другое поле - не на то, для которого в данный момент прописывалось значение при помощи pasteText. Возможно, это было связано с тем, что я еще использовал метод setSelection для затирания старого значения в поле. В общем, у меня сложилась вот такая схема использования последовательности этих операторов: X++: .setFocus();
.setSelection(0, 1000); // где 1000 - некоторое заведомо большое значение - больше максимально возможной длины строки контрола
.pasteText( ); |
|
|
|
|
#12 |
|
Участник
|
про setFocus я знаю
потому что какие задачи будут я заранее не заню, т.е. для юзеров делаем форму,они загружають свои задани через форму как раньше говорил, например
сначало открыть форму такую , потом надо ввести дату или ещё чего то,а конкретно какую форму буду они открывать и сколько там поле я не знаю, так что там сделал функция с помощью WinApi нажать Ctrl+S, Ctrl+N or Tab и т.д. их куча короче, но столкнулся проблемой WinApi тупо набивает везде пофигист , скороей всего pasteText подойдет
|
|
|
|
|
#13 |
|
Участник
|
А если пользователь скроет какое-то из полей (пользовательская настройка), то куда перейдет Ваш Tab?
|
|
|
|
|
#14 |
|
Участник
|
уф :-)
во скрееншот
|
|
|
|
|
#15 |
|
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
|
| За это сообщение автора поблагодарили: kashperuk (1). | |
|
|
#16 |
|
Участник
|
Вадим хотел сказать, что подобная функциональность уже давно есть.
Benchmark tool называется. если же вас, Daido, интересует не столько логика, сколько именно обход контролов, то и такой инструмент есть. Запуск форм называется. Читайте мануалы - они рулез. |
|
|
|
|
#17 |
|
Модератор
|
Цитата:
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
|
|
#18 |
|
Участник
|
Цитата:
про Benchmark tool можно по больше узнать??? |
|
|
|
|
#19 |
|
Участник
|
|
|
|
|
|
#20 |
|
Участник
|
Давайте я лучше расскажу про поиск на форуме.
Это замечательная штука находится на каждой странице вверху. Кроме того, там есть поиск не только по форуму, но и по другим axapta-ресурсам. Программное создание новых записей (внизу есть архивы, кроме того, есть документ, описывающий тестирование форм) Benchmark tool - Где взять, как пользоваться |
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Где перекрыт метод в классе | 5 | |||
| visible(true) и курсор | 6 | |||
| Где что хранится? | 10 | |||
| 3.0: где активировать цены по скл. аналитикам ? | 5 | |||
| Где взять материалы и еще один конкретный вопрос | 6 | |||
|