Страница 1 из 2

Как вставить TAB в текстовое поле?

Добавлено: 24 Ноябрь 2015, 15:30
morkovin
C6.2 ABC
На форме текстовое поле. При попытке вставить табуляцию(TAB),ес-но, выполняется переход на след. поле. Как-то раньше не сталкивался с этим. Что делать?

Как вставить TAB в текстовое поле?

Добавлено: 24 Ноябрь 2015, 15:33
Игорь Столяров
Указать для поля ALERT(TabKey) и обработать нажатие клавиши TAB.
Ну и если не TAB, то должна быть какая-то кнопка выхода из поля ...

Как вставить TAB в текстовое поле?

Добавлено: 24 Ноябрь 2015, 16:44
kreator
Есть оператор Alias, изменяет keycode'ы (в принципе, используется для переназначения клавиш). Если TabKey на поле подменить, может само вставиться?

Как вставить TAB в текстовое поле?

Добавлено: 24 Ноябрь 2015, 17:00
kreator
Фигню, наверно, сморозил. Но Alias можно посмотреть.

Как вставить TAB в текстовое поле?

Добавлено: 24 Ноябрь 2015, 20:55
morkovin
Поместил на форму кнопку <InsTab>, на кнопку повесил код SETCLIPBOARD('<9>'). Нажимаю и в нужном месте делаю Ctrl-V

Как вставить TAB в текстовое поле?

Добавлено: 24 Ноябрь 2015, 21:39
Ал
morkovin писал(а):Поместил на форму кнопку <InsTab>, на кнопку повесил код SETCLIPBOARD('<9>'). Нажимаю и в нужном месте делаю Ctrl-V
Если я правильно понял, то получается "2х ходовка" ручками - возможно пройдет вариант "1 ходовки" - вставка ручками при наборе текста некоего условного символа, заведомо "ненужного" в тексте и при сохранении программно текст распарсить с заменой его на <9>?

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 2:03
Admin
Я бы предложил использовать не Tab а Ctrl+T. Ну и рассказать про этот хоткей юзеру.

Код: Выделить всё

PROGRAM
  MAP
  END
  INCLUDE('KEYCODES.CLW')

Window WINDOW('TAB'),AT(,,245,182),FONT('Segoe UI',8,,),GRAY,DOUBLE
       PROMPT('Press TAB or Ctrl+T in text box'),AT(24,9),USE(?Prompt1)
       TEXT,AT(24,26,197,126),USE(?Text1),BOXED,ALRT(TabKey),ALRT(CtrlT)
       BUTTON('Button 1'),AT(74,160,45,14),USE(?Button1)
       BUTTON('Button 2'),AT(126,160,45,14),USE(?Button2)
     END
  CODE
  OPEN(Window)
  ! demo
  ?Text1{PROP:Text} = '1234567890123456789'
  ?Text1{PROP:Selected} = 5
  !
  ACCEPT
    CASE EVENT()
    OF EVENT:Alertkey
      CASE FIELD()
      OF ?Text1
        CASE KEYCODE()
        OF CtrlT
        OROF TabKey
          S# = ?Text1{PROP:Selected}
          ?Text1{PROP:Text} = SUB(?Text1{PROP:Text},0,?Text1{PROP:Selected}-1) & '<9>' & SUB(?Text1{PROP:Text},?Text1{PROP:Selected},LEN(CLIP(?Text1{PROP:Text}))-?Text1{PROP:Selected}-1)
          ?Text1{PROP:Selected} = S#+1
        END
      END
    END
  END
  CLOSE(Window)

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 9:46
Ал
Admin писал(а):Я бы предложил использовать не Tab а Ctrl+T. Ну и рассказать про этот хоткей юзеру.
+,
ну и в случае, если в текстовом поле вводится что-то достаточно "шаблонно" - добавить работу с наборами образцов/шаблонов, короче - "заготовок", где уже например стоит табуляция в нужных позициях и есть возможность вставить при наборе текста эти готовые заготовки и дополнить нужным текстом?

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 10:42
pansoft
Admin писал(а): Я бы предложил использовать не Tab а Ctrl+T. Ну и рассказать про этот хоткей юзеру.
Поле текст по умолчанию использует не Tab а Ctrl+T. Не чего писать не надо.

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 10:43
Admin
Ну и конечно же Courier - наше все!

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 10:44
Admin
pansoft писал(а): Поле текст по умолчанию использует не Tab а Ctrl+T. Не чего писать не надо.
:shock: с каких пор?

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 10:46
pansoft
Можно сказать, всю жизнь.

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 10:48
Admin
pansoft писал(а): Можно сказать, всю жизнь.
В какой вселенной? У меня такого нет. С6.3

P.S. Кстати у меня там в примере текста вставки Tab нужно подрихтовать. Косячит если несколько раз нажать подряд...

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 10:50
kreator
pansoft писал(а):Можно сказать, всю жизнь.
В C10 на автомате не работает. Что-то, видимо, дописано?

Как вставить TAB в текстовое поле?

Добавлено: 25 Ноябрь 2015, 11:03
pansoft
С9.1, стандартные ABC шаблоны, работает. Добавил на форму элемент ?TEXT1. Скомпелил. Набираешь текст, при нажатии таб - теряет фокус. при нажатии ctr+таб, выполняет операцию табуляции. На сколько я помню в 6 так же все работало. Я даже помню про это из 6.1, а в 9 сейчас только проверил.