На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
Прежде чем задать вопрос, зайдите в раздел FAQ, возможно там уже есть ответ на него.
Если вы хотите вставить код в сообщение, то пожалуйста выделяйте его тегом [code=dfp] ... [/сode].
Для этого используйте кнопку [code=dfp] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Delphi for PHP.
Модераторы: ViktorXP, vicis
  
> каким образом без мышки можно перемещаться по элементам
    Интересно. А каким образом без мышки можно перемещаться по элементам формы?
    У меня в одной форме (состоит из двух edit-ов и одного батона) происходит перемещение по табу. В остальных формах этого нет. ничего специально неписал для этого.
    Может у кого есть какие мысли?

    Эта тема была разделена из темы "Delphi for PHP"
      также как и в делфи у каждого контрола, который имеет фокус, есть свойства TabOrder (параметр порядка предоставления фокуса), TabStop (Давать фокус по табу или нет)
        Цитата Ahil @
        Интересно. А каким образом без мышки можно перемещаться по элементам формы?
        У меня в одной форме (состоит из двух edit-ов и одного батона) происходит перемещение по табу. В остальных формах этого нет. ничего специально неписал для этого.
        Может у кого есть какие мысли?


        Разбирался с этим в 1-й версии
        Там если нужно сделать переходы между полями ввода на форме то TabOrder почему то не срабатывало :wall:
        Но альтернативой этому есть перехват клавиш в JavaScript
        Делаем так:
        ExpandedWrap disabled
                         function Edit2JSKeyUp($sender, $params)
                         {
           
                         ?>
           
                         //if (event.keyCode == 13|| event.keyCode == 9)
                         if (event.keyCode == 40) // если нажата клавиша "стрелка вниз"
                             {
                             findObj("Edit1").focus();
                             }
                         if (event.keyCode == 38)  // если нажата клавиша "стрелка вверх"
                             {
                             findObj("Edit3").focus();
                             }
           
           
                         <?php
           
                         }


        в событии KeyUp это работает
        а вот в KeyPress срабатывают только обычные клавиши

        P.S. Реально делать не стал, т.к. в проекте туча форм, а на них туча едитов, это пока все опишеш 8-)
        Сообщение отредактировано: vicis -
          Цитата vicis @
          Там если нужно сделать переходы между полями ввода на форме то TabOrder почему то не срабатывало

          Узнал что это происходит если использовать групбокс (ктомуже к нему трудно применять стили). Если групбокса нет в форме то табордер работает замечательно.
            Цитата Ahil @
            Узнал что это происходит если использовать групбокс (ктомуже к нему трудно применять стили). Если групбокса нет в форме то табордер работает замечательно.

            ну, на эту тему есть ещё несколько глюков.
            Не знаю - остались ли они во 2-й версии, но в первой с ними пришлось бороться
            Проблемы с едитами, с сохранениями данных и т.п.

            вот некоторые коментарии(записал для себя):

            1. Т.к. плохо работает Edit с GroupBox (не выделяется нормально текст, когда нужно)
            то лучше использоватьTextField
            но
            если с TextField использовать базу данных
            то при редактировании сбрасываются значения полей, если их не заполняли
            в связи с этим луше использовать
            Shape как замена GroupBox
            или ещё лучше Panel (можно будет все компоненты двигать группой)
            Shape->Pen.Color=#969696
            Shape->Shape=stRectangle

            если нужен заголовок для GroupBox
            то использовать Label
            Label->Aligment=agCenter
            Label->Color=#FFFFFF

            2. Сделать Edit внешне похожим на TextField и даже круче
            нужно использовать стиль
            например:
            файл css-real.css
            ExpandedWrap disabled
              .inputBlack {
               
                      height: 18px;
                      width: 212px;
                      border-left: 1px solid black;
                      border-top: 1px solid black;
                      border-right: 1px solid black;
                      border-bottom: 1px solid black;
                      font-size: 12px;
                      color: #232323;
                      padding-top: 3px;
               
              }
               
              .inputBlue {
               
                      height: 18px;
                      width: 212px;
                      border-left: 1px solid blue;
                      border-top: 1px solid blue;
                      border-right: 1px solid blue;
                      border-bottom: 1px solid blue;
                      font-size: 12px;
                      color: #232323;
                      padding-top: 3px;
               
               
              }

            Ставим на форму StuleSheet
            StuleSheet->FileName=css-real.css

            и подключаем стиль к Edit
            Edit->Style=.inputBlue
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0287 ]   [ 16 queries used ]   [ Generated: 25.04.24, 20:46 GMT ]