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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2008, 01:28   #1
zzzzz
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 69
Вопрос Ещё вопросик по StringGrid!!!

Ответьте пожалуйста на парочку вопросиков, кто знает!!!
1)
Возможно ли в зависимости от значения в данной ячейке окрашивать ячейку в какой-то цвет? (например: если число отрицательное, то в красный, а если положительное, то в зелёный) Только окрашивать саму ячейку, а не текст в ней. Если не возможно, то может дскажите какой-то компонент в котором есть такая возможность???
2)
Как заставить тот же StringGrid реагировать на клик правой кнопки мыши??? Чтобы допустим в зависимости от того на какой ячейке кликнули происходили разные действия???
zzzzz вне форума Ответить с цитированием
Старый 11.07.2008, 01:29   #2
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

1. StringGrid.OnDrawCell
2. StringGrid.OnMouseDown
_Engine_ вне форума Ответить с цитированием
Старый 11.07.2008, 01:33   #3
zzzzz
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 69
По умолчанию

А разве StringGrid.OnMouseDown это на правую кнопку??? Это же по моему вообще на клик мыши.
zzzzz вне форума Ответить с цитированием
Старый 11.07.2008, 01:36   #4
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Ты внимательно на обработчик события смотрел? Видел там переменную Button : TMouseButton?
if Button = mbRight then ShowMessage('Вы нажали правую кнопку');

Последний раз редактировалось _Engine_; 11.07.2008 в 01:37. Причина: грамматику правил :)
_Engine_ вне форума Ответить с цитированием
Старый 11.07.2008, 01:38   #5
zzzzz
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 69
По умолчанию

спасибки!!! Я просто не знал как её обозвать правильно, эту правую кнопку!!!))))
zzzzz вне форума Ответить с цитированием
Старый 11.07.2008, 01:39   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then ...

Последний раз редактировалось eoln; 11.07.2008 в 01:40. Причина: Упс... с ответом опередили - долго не обновлял
eoln вне форума Ответить с цитированием
Старый 11.07.2008, 01:43   #7
zzzzz
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 69
По умолчанию

а на первый вопрос можешь немного поподробнее пожалуйста???!!!

со вторым уже разобрался!!)))

Последний раз редактировалось Alex21; 11.07.2008 в 09:03.
zzzzz вне форума Ответить с цитированием
Старый 11.07.2008, 01:48   #8
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

В Обработчике проверяй значение ячейки исходя из твоих условий (ACol и ARow - координаты ячейки) и используя StringGrid.Canvas и Rect делай заливку нужным тебе цветом.
_Engine_ вне форума Ответить с цитированием
Старый 11.07.2008, 02:07   #9
zzzzz
Пользователь
 
Регистрация: 25.05.2007
Сообщений: 69
По умолчанию

А как именно окрашивать???? А то что-то не получается!!! Просто ячейка мигает(мерцает) и всё((((
zzzzz вне форума Ответить с цитированием
Старый 11.07.2008, 02:11   #10
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Canvas.Brush.Color := clGreen;
Canvas.FillRect(Rect);
_Engine_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросик про ООП!!! R@mec Общие вопросы C/C++ 2 22.08.2008 13:38
вопросик по оформлению shmelvs Microsoft Office Excel 3 24.07.2008 11:10
Вопросик про StringGrid zzzzz Общие вопросы Delphi 3 10.07.2008 20:54