The Unofficial Newsletter of Delphi Users - by Robert Vivrette

Контроль вашей мышки

By Lennie De Villiers - ddevilliers@lando.co.za

Перевод Руденко Е.В.   janer@newmail.ru    апрель 2001 года

Привет из солнечной Северной Африки! Я надеюсь , вам понравится данный тип и будет полезным для вас. Иногда программисту необходимо знать, установлена ли на его компьютере мышка (Mouse) и сколько у нее кнопок. Посмотрите на следующие две Delphi- функции :

(Не забудьте добавить модуль  "ShellAPI" в список  uses )

Функция  MouseExist :

function MouseExist : boolean;
begin
  if (GetSystemMetrics(SM_MOUSEPRESENT) <> 0) then
    Result := True
else
   Result := False;
end; {MouseExist}

 Эта функция проверяет - инсталлирована ли мышка в вашей системе, она возвращает  TRUE , если мышка присутствует или FALSE, в противном случае.
 

Функция MouseButtonsCount:

function MouseButtonsCount : integer;
begin
  Result := GetSystemMetrics(SM_CMOUSEBUTTONS);
end; {MouseButtonsCount}
Эта функция возвращает количество доступных кнопок мыши. Если мышка недоступна, то функция возвращает значение 0 (ноль).
 

Пример использования:

Протестируйте данные функции:

1. Добавьте Кнопку (TButton) и Метку (TLabel) к основной форме (TForm), щелкните на кнопке и добавьте следующий код к ее событию  "OnClick" :

begin
  if (MouseExist) then
    Label1.Caption := '
Мышка инсталлирована с  ' +
IntToStr(MouseButtonsCount) + '
доступными кнопками ...'
else
  Label1.Caption := '
Мышка не инсталлирована ...';
end;


2. Запустите приложение  (нажав  F9) и щелкните на кнопке. Заголовок метки отобразит сообщение, что мышка инсталлирована и имеет столько-то кнопок или (в противном случае) , что мышка не инсталлирована.

Результаты теста:

Когда я тестировал данные функции, метка выдала сообщение , что мышка присутствует и имеет две кнопки (что на самом деле верно). Когда  я отсоединил мышку от компьютера, появилось сообщение , что мышка не инсталлирована .

Если вы не верите мне , попробуйте сами - вы будете приятно удивлены :-)

По всем вопросам обращайтесь по адресу : ddevilliers@lando.co.za. Вы можете также посетить мою страничку , посвященную  Delphi  http://ddevilliers.southafrica.webjump.com/delphi/ .

Пока!

Возврат в Tips&Tricks