FAQ VCL
Железо\Сенсорный ввод

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как определить, поддерживает ли устройство сенсорный ввод?

procedure TForm1.Button1Click(Sender: TObject);
var
  tData: Integer;
  Msg: string;
begin
   tData := GetSystemMetrics( SM_DIGITIZER );
   if tData and NID_READY = NID_READY then
   begin
      Msg := 'Сенсорный ввод доступен.';

      if tData and NID_MULTI_INPUT = NID_MULTI_INPUT then
      begin
         Msg := Msg + #13 + 'MultiTouch поддерживает ';

         tData := GetSystemMetrics( SM_MAXIMUMTOUCHES );
         Msg := Msg + IntToStr( tData );
         case tData of
            2..4: Msg := Msg + ' касания.';
            5..10: Msg := Msg + ' касаний.';
         end;
      end
      else
         Msg := Msg + #13 + 'MultiTouch не поддерживается.';
   end
   else
      Msg := 'Сенсорный ввод недоступен.';
   ShowMessage( Msg );
end;

При использовании материала - ссылка на сайт обязательна