Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убрать выделение ячейки в TStrigGrid? когда нет фокуса на табл. то выделяется 
:(
    Опции темы
Traum
Дата 31.1.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 30.1.2004

Репутация: нет
Всего: нет



Если нет фокуса то одна из ячеек (первая по умолчанию или которая последняя имела фокус) выделяется синим цветом и обрамляется. Как убрать выделение (или сделать хотябы не синим, а цветом фона)?
PM MAIL   Вверх
p0s0l
Дата 31.1.2004, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Либо самому писать OnDrawCell (+DefaultDrawing=false), либо после потери фокуса убрать у стринггрида выделенную ячейку:
Код
var
 grSel : TGridRect;
 grNull : TGridRect = (Left : -1; Top : -1; Right : -1; Bottom : -1);

procedure TForm1.StringGrid1Exit(Sender: TObject);
begin
 grSel := StringGrid1.Selection; // это нужно для запоминания выбр. ячейки
 StringGrid1.Selection := grNull;
end;

procedure TForm1.StringGrid1Enter(Sender: TObject);
begin
 StringGrid1.Selection := grSel; // это нужно для запоминания выбр. ячейки
end;

Но в таком случае не рисуется обрамляющая рамка... Может еще можно что-нибудь придумать...



--------------------
С уважением, г-н Посол.
PM   Вверх
x77
Дата 1.2.2004, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



Убрать из Options goDrawFocusSelected


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
p0s0l
Дата 1.2.2004, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



x77, не так всё просто...


--------------------
С уважением, г-н Посол.
PM   Вверх
x77
Дата 1.2.2004, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



угу. вижу. действительно, придётся переписывать OnDrawCell. либо делать, как у тебя, а рамку можно и самому нарисовать, DrawFocusRect - одна строчка.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Traum
Дата 1.2.2004, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 30.1.2004

Репутация: нет
Всего: нет



p0s0l
На счет рамки - даже хорошо что ее не будет (для моего случая). Приведенный код вроде работает но кажись только для входа и выхода а если при появлении формы (да и вообще нужно во всех случаях исключить выделение ).

А что можно еще использовать для вывода данных в табличном виде, чтобы не было выделений синим (а то сразу данные нехорошо выглядят в данной ячейке) ?

PM MAIL   Вверх
x77
Дата 1.2.2004, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1255
Регистрация: 25.3.2002

Репутация: 19
Всего: 22



можно взять TListView, установить Style = vsReport, и данные писать в Caption и SubItems. А там, кстати, есть опция HideSelection, которая позволяет не выделять выбранную строку при потере фокуса.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Traum
Дата 1.2.2004, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 30.1.2004

Репутация: нет
Всего: нет



x77
С первого взгляда TListView подходит (и может даже лучше чем TStringGrid) ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.