![]() |
|
|||||||
![]() |
|
|
Опции темы |
|
|
#1 |
|
Телепат с дипломом
Профессионал
|
Как обработать сообщение WM_LBUTTONUP, когда курсор находится над Листбоксом?
ListBox.OnMouseUp не подходит, из-за перетаскивания некорректно работает. Для формы я делаю так Код:
|
|
|
|
|
|
#2 |
|
Белик Виталий :)
СуперМодератор
|
Можно так :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TListBox=class(StdCtrls.TListBox) protected procedure ListMouseUp(var n: TWMLButtonUp); message WM_LBUTTONUP; end; TForm1 = class(TForm) ListBox1: TListBox; private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TLIstBox } procedure TLIstBox.ListMouseUp(var n: TWMLButtonUp); begin // if n.Keys = MK_CONTROL then showmessage('up'); end; end. Причем Это распространяется на все листвоксы которые ты как обычно накидаеш на форму, хотя я не пойму чем мешает OnMouseUp |
|
|
|
|
|
#3 | |
|
Телепат с дипломом
Профессионал
|
Спасибо
Цитата:
Тут все дело в функции BeginDrag, если убрать ее вызов все приходит в норму, но она тоже нужна. P.S. пока писал ответ пришла хорошая идея, намного проще, нужно просто BeginDrag вызывать не при каждом нажатии (он на MouseDown повешан) а выборочно. Последний раз редактировалось mutabor; 23.08.2007 в 18:55. |
|
|
|
|
![]() |
| Опции темы | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Сообщения в Delphi | Роман777 | Помощь студентам | 19 | 24.11.2008 15:27 |
| Сообщения | Serg12345678 | Общие вопросы C/C++ | 1 | 12.04.2008 14:07 |
| как отправить сообщения на Асю (icq) | Ermak | Работа с сетью в Delphi | 8 | 19.09.2007 19:57 |
| сообщения с ошибками в delphi | Alar | Общие вопросы Delphi | 0 | 30.10.2006 00:43 |