Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

DBGrid и двойной клик на заголовке!   Найти похожие ветки 

 
svv   (2004-04-15 18:03) [0]

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

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

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


 
Johnmen ©   (2004-04-15 18:07) [1]

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


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

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


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

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

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


 
KSergey ©   (2004-04-16 08:28) [4]

Провел сейчас экспериментик
Как я понимаю - двойной клик отлавливаем в событии 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)


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

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



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

Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.039 c
3-1082102461
Evgenija
2004-04-16 12:01
2004.05.16
добавление записи в базу


8-1069399145
truntaev
2003-11-21 10:19
2004.05.16
как быстро сравнить 2 объекта типа tbitmap


1-1083071494
Talle
2004-04-27 17:11
2004.05.16
Вывести на экран текст с формулами


6-1080082331
AleXR
2004-03-24 01:52
2004.05.16
Как установить соединение DialUp


4-1080243638
Swimmer
2004-03-25 22:40
2004.05.16
Как создать меню полностью на WinAPI?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский