Форум программистов, компьютерный форум CyberForum.ru

Послать дополнительный клик мышкой - C++

Восстановить пароль Регистрация
 
krv
71 / 51 / 11
Регистрация: 10.07.2014
Сообщений: 328
26.07.2014, 16:56     Послать дополнительный клик мышкой #1
Вот есть рабочий код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void __fastcall TfMain::reTextContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled)
 
{
  tagINPUT *i = new tagINPUT;
//вариант 1
    i->type = 0;
    i->mi.dx = 0;
    i->mi.dy = 0;
    i->mi.mouseData = 0;
    i->mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
    i->mi.time = 0;
    i->mi.dwExtraInfo = 0;
    SendInput(1,i,sizeof(tagINPUT));
    i->mi.dwFlags = MOUSEEVENTF_LEFTUP;
    SendInput(1,i,sizeof(tagINPUT));
// вариант 2
//    SendMessage(((TWinControl*)reText)->Handle, WM_LBUTTONDOWN, 0, 0);
//    SendMessage(((TWinControl*)reText)->Handle, WM_LBUTTONUP, 0, 0);
// вариант 3
//    SendMessage(((TWinControl*)reText)->Handle, WM_LBUTTONDOWN, MK_LBUTTON, 0);
//    SendMessage(((TWinControl*)reText)->Handle, WM_LBUTTONUP, 0, 0);
    Application->ProcessMessages();
}
Он при нажатии правой кнопки посылает нажатие левой, чтобы переместить курсор (reTextContextPopup - это событие для RichEdit'a)
Работает только раскоментированный вариант 1.
Что неправильно в вариантах 2 или 3 ?
Или может есть более правильный метод, а то как то уж слишком низкоуровнево получается... с SendInput
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2014, 16:56     Послать дополнительный клик мышкой
Посмотрите здесь:

Дополнительный код с++ C++
C++ Как послать клик мышой по указанным координатам? Очень надо
C++ Как теперь записать в дополнительный столбец?
Дополнительный код C++
C++ дополнительный счетчик не считает
Арифметические операции. Дополнительный код C++
Не понятный дополнительный символ в конце файла C++
Как добавить дополнительный член в структуру? C++

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

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

Текущее время: 14:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru