Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Gesturemanager Rad Studi (delphi) 3 Способа Обработки

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,200
Баллы
155

Код:
procedure TForm1.TabControl1Gesture(Sender: TObject;
  const [Ref] EventInfo: TGestureEventInfo; var Handled: Boolean);

    var
  Gesto : string;
begin
  if GestureToIdent(EventInfo.GestureID, Gesto) then
    begin
      case EventInfo.GestureID of
        sgiLeft : TabControl1.TabIndex := 0;
        sgiRight: TabControl1.TabIndex := 2;
        sgiDown : TabControl1.TabIndex := 1;
        sgiUp   : ShowMessage('Você utilizou o gesto para cima: ' + Gesto);
      end;
    end;

Первый вариант

Код:
  begin
case EventInfo.GestureID of   //   Распознавания жеста события /
    sgiLeft://пальцем справа налево
    begin

       // Если не последняя вкладка, затем выберите следующую
      if TabControl1.ActiveTab <> TabControl1.Tabs[TabControl1.TabCount-1] then
        TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex+1];
      Handled := True; //код, который обрабатывает
    end;

    sgiRight:// пальцем слева направо
    begin

      //Если не первый передний вкладка, затем выберите
      if TabControl1.ActiveTab <> TabControl1.Tabs[0] then
        TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex-1];
      Handled := True;//Он имеет код для обработки

    end;
end;
        end;

end;
end.
Пример "выезжающей" панели слева при помощи жестов:
Расположите на форме TPanel
Свойство Align = Left
Свойство Width = 0
В свойстве Width нажимаем на стрелку и выбираем Create New TFloatAnimation
В свойствах объекта FloatAnimation выставляем значения StartValue = 0, StopValue = 250 (ширина нашей панели), Duration = 0,5 (скорость "выдвижения")
Поместите на форму GestureManager
В свойстве Touch формы выбираем наш GestureManager и Gestures -> Standart отмечаем галочками Left и Right
В событиях формы onGesture прописываем условия:
procedure TForm1.Gesture(Sender: TObject;

Код:
const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
  case EventInfo.GestureID of
    sgiRight:
      begin
        if Panel1.Width = 250 then
          Exit;
        with FloatAnimation1 do
        begin
          Enabled := False;
          StartValue := 0;
          StopValue := 250;
          Enabled := True;
        end;
      end;
    sgiLeft:
      begin
        if Panel1.Width = 0 then
          Exit;
        with FloatAnimation1 do
        begin
          Enabled := False;
          StartValue := 250;
          StopValue := 0;
          Enabled := True;
        end;
      end;
  end;
end;
В событии onGesture нашей Panel присваиваем событие onGesture нашей формы (по желанию).

Нет ограничений, сверху, снизу, справа, слева, откуда хотите.

Пример панели с затемнением XE6
Прикрепленные файлы
 
Вверх