Вниз
Скачать: CL | DM;

Как создать эффект нажатия левой кнопки мыши в ListBox?   Найти похожие ветки 

← →
AlexanderMS ©   (2006-08-15 16:51) [0]

Мне нужно, чтобы после нажатии правой кнопки мыши элемент ListBox, находящийся под курсором, был выбран, как будто по нему щёлкнули левой кнопкой мыши.

Пробовал выбрать элемент через ItemAtPos, но происходит большая задержка. Пришёл к выводу: нужно сделать, чтобы при нажатии правой кнопки мыши был вызван обработчик события TCustomListBox.WMLButtonDown. Но тогда я не могу послать сообщение через SendMessage.

Подскажите, пожалуйста, как лучше сделать и как именно?


← →
Lexer ©   (2006-08-15 17:06) [1]

Ты будешь, удивлен, но TCustomListBox.WMLButtonDown тоже вызывает ItemAtPos.
Скорее всего задержка из-за чего-то другого...


← →
clickmaker ©   (2006-08-15 17:07) [2]


> Пробовал выбрать элемент через ItemAtPos, но происходит
> большая задержка


никаких задержек

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var Index: integer;
begin
 if Button = mbRight then begin

   Index := ListBox1.ItemAtPos(Point(X, Y), True);
   if (Index >= 0) then
     ListBox1.ItemIndex := Index;
 end;
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
1-1153468394
Чапаев
2006-07-21 11:53
2006.09.03
Про типы/наследование


2-1155120400
vodvorezlaya
2006-08-09 14:46
2006.09.03
как организовать обменн данными между приложениями


2-1155457358
SamProf
2006-08-13 12:22
2006.09.03
Перечисление результатов IbstoredProc


15-1154899987
Andy BitOff
2006-08-07 01:33
2006.09.03
TRegExpr by Andrey V. Sorokin. Это далеко не лучший выбор.


6-1144821895
DelphiN!
2006-04-12 10:04
2006.09.03
Размер сетевого TCP/IP пакета




   Наверх