C++ Builder: Меняем скорость перемещения указателя мыши

За установку части настроек системы отвечает функция SystemParametersInfo. Данная функция содержит 4 параметра. Непосредственно ее поведение зависит от первого параметра. В нашем случае от него будет зависеть скорость перемещения указателя мыши.

Кстати, четвертый параметр функции будет говорить о том, что скорость указателя будет меняться. В то же время, новое значение скорости указателя будет передаваться в третьем параметре.

Ладно, что я все теоретизирую. Перейдем к практике – объясню по ходу дела.

На форму добавляем три компонента: со вкладки Standart берем Edit и Button, со вкладки Win32 берем TrackBar.

В свойствах компонента Edit находим Enabled (доступность) и ставим false. Также задаем свойство Caption для кнопки. Вот и все – дальше нужно создать обработчиков событий (для события нажатия кнопки и события изменения тракбара).

Непосредственно исходный код:

//---------------------------------------------------------------------------
 
#include 
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{ 
  // событие нажатия кнопки
  // изменение скорости перемещения указателя мыши
  SystemParametersInfo(SPI_SETMOUSESPEED, 0 , (PVOID)TrackBar1->Position, SPIF_SENDCHANGE);
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::TrackBar1Change(TObject *Sender)
{
  //установка выбранного значения тракбара в едит
  Edit1->Text=TrackBar1->Position;
}

Внешний вид программы:

Программку можно скачать здесь.

Учтите – установленная в программке скорость движения курсора мыши не изменится после закрытия программы.

4 comments on “C++ Builder: Меняем скорость перемещения указателя мыши

  1. Все доступно, кстати получилось даже у меня, не очень-то «соображающей» в подобных вопросах.

  2. Очень хорошее объяснение,искал в интернете,один бред,здесь всё подробно,и доступно)спасибо вам!

  3. спасибо большое.очень хорошее объяснение,у меня все получилось. Еще раз спасибо.

  4. Большое вам спасибо, моя мышка бегает как бешеная, а в других местах либо вирусы,либо глупое обьяснение!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *