Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
1

Программно кликнуть левой кнопкой мышки

30.04.2013, 20:39. Показов 5357. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Задача такая:
Нужно, чтобы при клике правой кнопкой мышки программно происходил клик левой кнопки мышки.


Тут даже можно, чтобы правая кнопка мышки стала как бы левой, при заданном условии.

Как это осуществить?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2013, 20:39
Ответы с готовыми решениями:

Как кликнуть кнопкой по кнопке
вот по этой N9Click; на Button1 сравлю но ни как не компилируется... Может синтаксис не верный?

Заставить мышь кликнуть программно
Как заставить мышь кликнуть программно ?

Сообщение при нажатии левой кнопки мышки
Вообщем есть класс unit viewerClass; interface uses Classes,SysUtils,Windows,Dialogs,...

Вывести количество двойных нажатий левой кнопки мышки на форму
Вывести количество двойных нажатий левой кнопки мышки на форму. Зарание спасибо)))

18
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 21:00 2
события OnMouseDown и OnMouseUp
0
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
30.04.2013, 21:13  [ТС] 3
Так как сделать, чтобы происходил клик -то вместо правой кнопки - левой?

Delphi
1
if Button = mbRight then button := mbLeft;
-так не работает.
0
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 21:24 4
Cannon1, да хотя бы так:
если нажата правая клавиша то вызвать это же событие, но с button = mbLeft
0
angstrom
30.04.2013, 21:27 5
Не нужно делать никакой подмены кнопок. К примеру
Delphi
1
2
3
4
5
6
7
8
var
  LeftButton : Boolean;
...
  case LeftButton of
    True : bla-bla-bla; // используем левую кнопку
  else
    bla-bla-bla; // используем правую кнопку
  end
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
30.04.2013, 21:31 6
Также можно воспользоваться функцией WinAPI. SwapMouseButton:=true - меняет кнопки мыши местами.
1
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 21:33 7
или проверять: if (button = mbLeft) and (button = mbRight) then, а дальше бла-бла-бла
0
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
30.04.2013, 21:47  [ТС] 8
Arkaniy - приблизительно то что надо.

Я так понимаю, что если False, то кнопки опять по нормальному работать должны.

Delphi
1
SwapMouseButton:=true;
Подскажите только как ей пользоваться, делфи хе2, что-то не компилит.

Пишет: [DCC Error] uMainForm.pas(857): E2035 Not enough actual parameters
0
angstrom
30.04.2013, 21:50 9
Справка наше всё.
Delphi
1
2
3
  SwapMouseButton(True);
...
  SwapMouseButton(False);
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
30.04.2013, 23:04  [ТС] 10
Да простят меня админы, спрошу ещё тут, так как вопрос из этой же оперы:

Как сделать, чтобы можно было нажимать компонент Button правой кнопкой мышки?
Кнопка Button срабатывает только на клик левой кнопки мышки.

Может она отключена там где-то...
0
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 23:07 11
Cannon1, тот же прицип, что я тебе описывал:
Если нажата правая кнопка мыши, вызываеш событие нажатия кнопки
0
2 / 2 / 2
Регистрация: 29.09.2012
Сообщений: 444
30.04.2013, 23:14  [ТС] 12
Не, не работает у меня, делфи хе2.

Delphi
1
2
3
4
5
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then  Button1.Click;
end;

Да и кнопка по нормальному не нажимается, так что это не то немного.
0
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 23:17 13
Cannon1, да какая разница, какая Delphi. ты вызываеш совсем не то, что надо. я сказал, вызвать СОБЫТИЕ.
Button1Click(Sender: TObject)
Sender - тот кто вызывает данное событие
0
angstrom
30.04.2013, 23:30 14
И к тому же нажатие идёт на форму - FormMouseUp
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
30.04.2013, 23:47 15
Тоесть еще надо чтобы только 1 кнопку можно было юзать правой кнопкой мыши?

Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
SwapMouseButton(true);
end;
 
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
SwapMouseButton(false);
end;
Тут, когда наводишь на кнопку, срабатывает первая процедура, и кнопки мыши меняются местами, а когда отводишь мышь с кнопки на форму, то меняются обратно.
0
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 23:53 16
Arkaniy, ему, по ходу, прогу для левшей настроить надо
0
angstrom
30.04.2013, 23:55
  #17

Не по теме:


Ну и что, я левша, но кнопки при этом не меняю.

107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
30.04.2013, 23:56 18
Fenix_dragon, может быть, а может просто задание в универе.

Добавлено через 20 секунд
angstrom, +1, я тоже левша
0
118 / 118 / 2
Регистрация: 29.01.2013
Сообщений: 437
30.04.2013, 23:58 19
angstrom,

Не по теме:

это уж кто как привык

0
30.04.2013, 23:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2013, 23:58
Помогаю со студенческими работами здесь

Поймать клик левой кнопкой мыши на любом визуальном компоненте формы
Доброго дня, форумчане. Не подскажете как мне поймать клик левой кнопкой мыши на любом визуальном...

сделать, что бы при зажатии левой кнопки и перемещении мышки, двигалась картинка
Здравствуйте, пишу программу, использую в ней картинку, но картинка очень большая и не влезает в...

Еще 1 вопрос по TreeView - нажатие левой кнопкой мыши
Мне надо чтобы если по нажатию левой кнопкой по TreeView если я кликнул по элементу высветилось...

Как сделать клик левой кнопкой мышки по установленным координатам?
Добрый день. Подскажите, как можно сделать клик левой кнопкой мышки по установленным координатам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru