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

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

DBGrid и двойной клик на заголовке! [D7, MSSQL]


svv ©   (2004-04-15 18:03:00) 

Есть DBGrid!
реализовано открывание окна редактирования данных по двойному клику на строке таблицы, а также сортировка по столбцам (кликом по заголовку столбца)

недостаток "чайники" делают двойной клик по заголовку и в результате открывают на редактирование первую отсортированную запись таблицы.

как запретить двойной клик на заголовке и разрешить его на остальных ячейках?


svv   (2004-04-16 13:47:00) [1]

Большое спасибо!
Все отлично сработало!
PS поступил по примеру от KSergey.


KSergey   (2004-04-16 08:28:00) [2]

Провел сейчас экспериментик
Как я понимаю - двойной клик отлавливаем в событии OnDblClick DBGrid'а

Тогда могу предложить такой код (проверял):

type TDBGridFreind = class (TDBGrid);

procedure TMainForm.DBGrid1DblClick(Sender: TObject);
var
 i: Integer;
 pt: TPoint;
begin
 pt := Mouse.CursorPos;
 pt := DBGrid1.ScreenToClient (pt);
 if pt.y > TDBGridFreind(DBGrid1).RowHeights[0] then   // если мышь ниже заголовка
   ShowMessage ('Двойной клик по ячейкам')
 else
   ShowMessage ('Двойной клик по заголовку')
end;


Наличие заголовка не проверяется - считаем, что он гарантированно есть.
По хорошему, конечно бы, проверять что клик в в область ячеек попадает (например, если строк в гриде всего 2 и кликаем ниже строк с данными)
Но тогда действительно проще уж пересесть на MouseDown и > [1] Johnmen ©   (15.04.04 18:07)


ZrenBy   (2004-04-15 18:15:00) [3]

1.
Поджигай или туши флажок на
OnTitleClick
OnCellClick

2.
OnMouseDown(... X, Y: Integer);
rect = CellRect(0,0);


svv   (2004-04-15 18:10:00) [4]

а поподробнее можно?


Johnmen   (2004-04-15 18:07:00) [5]

Анализирую TShiftState на ssDouble


Наверх

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