Уважаемые авторы вопросов! Большая просьба сообщить о результатах решения проблемы на этой странице. Иначе, следящие за обсуждением, возможно имеющие аналогичные проблемы, не получают ясного представления об их решении. А авторы ответов не получают обратной связи. Что можно расценивать, как проявление неуважения к отвечающим от автора вопроса.
Сразу оговорюсь: Прошу жителей королевства не подозревать меня в плагиатстве, из-за того что даю пример схожий с примером Елены Филипповой и Игоря Шевченко, или перетягивании одеяла.
Пишу его сюда просто потому что была готовая заготовка в архиве, а если хотите дополнительных разъяснений и примеров смотрите по ссылке данной Еленой.
Еще одна из причин - вдруг неохота создавать дополнительный компонент ради простого выделения строки.
Delphi5
type
TMyGrid = class(TCustomDBGrid);
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if TMyGrid(Sender).DataLink.ActiveRecord = TMyGrid(Sender).Row - 1 then
TDBGrid(Sender).Canvas.Brush.Color := clAqua;
if (gdSelected in State) then
begin
TDBGrid(Sender).Canvas.Brush.Color := clHighLight;
TDBGrid(Sender).Canvas.Font.Color := clHighLightText;
end;
Я делаю поиск по grid, после поиска найденая строка выделяется другим цветом, а когда начинаю перемещать курсор подсвеченная строка так и остается выделенной и еще курсор бегает. Как снять ето выделение?
13-02-2005 14:06 | Вопрос к автору: запрос дополнительной информации
а что нужно сделать? выделять "подкурсорную" запись, когда ты двигаешь мышкой над гридом или что?
если просто в какой-то момент нужно выделить ту запись, что под курсором, то просто пошли системе сообщение "клик мыши" :-)
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.