Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.15;
Скачать: CL | DM;

Вниз

Несрабатывает имитация нажатия левой кнопки мышки...   Найти похожие ветки 

 
Irmantukas   (2013-01-04 00:48) [0]

Здравствуйте! Помогите разобраться с кодом:

procedure TForm1.DBPlanner1PlannerRightClick(Sender: TObject; Position, FromSel,
 FromSelPrecise, ToSel, ToSelPrecise: Integer);
var
 MausPos: TPoint;
begin
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
GetCursorPos(MausPos);
Menu1.Popup(MausPos.X,MausPos.Y);
end;


Хочу при нажатии правой кнопки мышки симитировать нажатие левой кнопки чтобы выбрать строчку в планере и потом выводить меню. Проблема в том, что меню выскакивает, а строчка непомечаеться. Если отключить Menu1.Popup(MausPos.X,MausPos.Y), то строчка помечаеться. Помогите ребята разобраться с этим. Спасибо.


 
KilkennyCat ©   (2013-01-04 00:52) [1]

тебе именно визуализация нужна, или определение, на какой строчке вызвано меню?


 
Irmantukas   (2013-01-04 01:00) [2]

Нужна визуализация.


 
KilkennyCat ©   (2013-01-04 01:22) [3]

а если сначала левой кликнуть, а потом правой, т.е. нормальным образом, то строчка остается помеченной?


 
KilkennyCat ©   (2013-01-04 01:23) [4]

и это случайно не TMSSoftware компонент?


 
Irmantukas   (2013-01-04 01:24) [5]

Остается помеченной.


 
Irmantukas   (2013-01-04 01:25) [6]

Да, TMSSoftware компонент.


 
KilkennyCat ©   (2013-01-04 02:04) [7]

поищи свойство типа Items.Select;  
и вообще, там богатство возможностей перерисовки:
http://www.tmssoftware.com/site/manuals/TMS%20TPLANNER.pdf


 
KilkennyCat ©   (2013-01-04 02:07) [8]

и еще: если у тебя разрешен мультиселект, то тебе придется еще несколько накодить, имитация левого клика напортит.


 
Irmantukas   (2013-01-04 16:28) [9]

Сделал так:


var
Raitclick: Integer;
...............................................................

procedure TForm1.FormActivate(Sender: TObject);
begin
Raitclick:= 0;
............
end;

procedure TForm1.DBPlanner1PlannerLeftClick(Sender: TObject; Position, FromSel,
 FromSelPrecise, ToSel, ToSelPrecise: Integer);
var
 MausPos: TPoint;
begin
if Raitclick = 1 then
 begin
   GetCursorPos(MausPos);
   Menu1.Popup(MausPos.X,MausPos.Y);
 end;
Raitclick:= 0;
end;

procedure TForm1.DBPlanner1PlannerRightClick(Sender: TObject; Position, FromSel,
 FromSelPrecise, ToSel, ToSelPrecise: Integer);
var
 MausPos: TPoint;
begin
Raitclick:= 1;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;



Страницы: 1 вся ветка

Текущий архив: 2013.09.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1356680112
aka
2012-12-28 11:35
2013.09.15
Работа с указателями


15-1364391250
Sammi
2013-03-27 17:34
2013.09.15
Проблема с функцией Delphi -> C++


15-1365193803
Юрий
2013-04-06 00:30
2013.09.15
С днем рождения ! 6 апреля 2013 суббота


2-1357291115
Pcrepair
2013-01-04 13:18
2013.09.15
Проблемы с передачей параметров в поток через TStringList


2-1356611380
tomkat
2012-12-27 16:29
2013.09.15
CharSet TStringList