Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 02:45   #1
SVA90
Новичок
Джуниор
 
Регистрация: 15.05.2010
Сообщений: 7
По умолчанию работа с stringgrid

привет всем! я не очень силен в работе с stringgrid
у меня вопросы:
1)как по нажатию кнопки изменить цвет фона текущей ячейки?(условия не заданы). нужно чтобы цвет сохранялся в ячейке даже если выделение снято!!!
2)как сделать так чтобы при нажатии на крайние верхние ячейки выделялся целый столбец, а на крайние левые - строка. И сделать возможность выделения произвольных ячеек типа ctrl+ЛКМ в exel

помогите пож
SVA90 вне форума Ответить с цитированием
Старый 17.05.2010, 02:50   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Есть хороший, но платный компонент от TMS (AdvStringGrid).
Есть и бесплатная альтернатива (но с меньшим функционалом) - NiceGrid на http://www.priyatna.org/nicegrid.php.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 17.05.2010, 02:53   #3
SVA90
Новичок
Джуниор
 
Регистрация: 15.05.2010
Сообщений: 7
По умолчанию

а с помощью обычных компонентов
невозможно?
SVA90 вне форума Ответить с цитированием
Старый 17.05.2010, 02:59   #4
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Можно, но если у вас есть много желания.
Кстати, многие этим занимались (вещи, которые вам нужны достаточо популярны), так что поисковик вам в помощь, неприменно найдете.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 17.05.2010, 03:01   #5
SVA90
Новичок
Джуниор
 
Регистрация: 15.05.2010
Сообщений: 7
По умолчанию

вот имеется код:
..
var
x,y: integer;
..
procedure TForm1.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin

if ((acol = x)and (arow = y)) then begin
StringGrid2.Canvas.Brush.Color := clGreen;
StringGrid2.Canvas.FillRect(rect);
end;
end;

procedure TForm1.StringGrid2SelectCell(Sender : TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
x := acol;
y := arow;
StringGrid2.Repaint;
end;


все работает, но и из-за gdFocused in State не сохраняет цвет ячейки
как сделать чтоб цвет сохранялся не знаю

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!

Последний раз редактировалось SVA90; 17.05.2010 в 03:24.
SVA90 вне форума Ответить с цитированием
Старый 17.05.2010, 03:10   #6
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию

1) OnCellDraw, по-моему так называется, вам в руки)
2) Со стрингридом сам редко работал, тут помочь не могу)
TwiX вне форума Ответить с цитированием
Старый 17.05.2010, 19:12   #7
Fuadik
Пользователь
 
Регистрация: 22.01.2010
Сообщений: 37
По умолчанию StringGrid

Попробуйте if ((acol = x) and (arow = y) and (State not gdSelected))
Fuadik вне форума Ответить с цитированием
Старый 17.05.2010, 19:14   #8
Fuadik
Пользователь
 
Регистрация: 22.01.2010
Сообщений: 37
По умолчанию StringGrid

Ошибся and (State not gdFocused)
Fuadik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со StringGrid в C++ Builder Mixim C++ Builder 3 01.04.2010 09:50
Работа со StringGrid Neroaz Помощь студентам 3 29.03.2010 13:31
работа со stringgrid Johny91 Помощь студентам 0 27.12.2009 14:28
работа со StringGrid student_63 Помощь студентам 1 11.11.2007 16:09
Работа с StringGrid aleks_grey Компоненты Delphi 2 28.10.2007 07:08