Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TDBGrid.OnMouseDown


Savek ©   (2007-08-10 09:18:00) 

Странное поведение событий в Гриде: OnMouseUp срабатывает в любом месте грида, а OnMouseDown срабатывает только при нажатии на заголовке грида или на месте, незанятом строками...
Наводим курсор мыши на строку нажимаем/опускаем кнопку - OnMouseDown НЕ произошло, OnMouseUp - произошло...

Это что, стандартное поведение компонента? И как с этим бороться?


Savek   (2007-08-10 14:55:00) [1]

Спасибо, в этом напрвлении я и копал, но допер бы нескоро


Lacmus   (2007-08-10 11:26:00) [2]

>Это что, стандартное поведение компонента?

Да

>И как с этим бороться?


type
 TDBGridX = class(TDBGrid)
 protected
   procedure MouseDown(Button: TMouseButton; Shift: TShiftState;  X, Y: Integer); override;
 end;

 TDBGrid = class(TDBGridX);

 TForm5 = class(TForm)
   DBGrid1: TDBGrid;
   Table1: TTable;
   DataSource1: TDataSource;
   procedure BitBtn1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form5: TForm5;

implementation

{$R *.dfm}

procedure TDBGridX.MouseDown(Button: TMouseButton; Shift: TShiftState;  X, Y: Integer);
begin
 { ... }
 inherited MouseDown(Button, Shift, X, Y);
 { ... }
end;


MsGuns   (2007-08-10 10:58:00) [3]

Ничего странного нет. В гриде есть возможность выделения нескольких строк сразу с помощью как раз мыши


Наверх

Титульная страница Поиск, карта сайта Написать письмо