Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Раскраска StringGrid нажатием/C++ Builder
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
dypel dypel вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.05.2014
По умолчанию Раскраска StringGrid нажатием/C++ Builder - 14.05.2014, 20:59

Необходимо сделать так, чтобы ячейки StringGrid закрашивались в красный цвет по нажатию на ячейку (и следующее нажатие закрашивет еще одну ячейку)
Так же изначально ячейки заполнены 0, а при нажатии 0 заменяется на 1.
Помогите, пожалуйста, я только начал изучать C++ Builder.
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,274
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 14.05.2014, 22:51

Нужно установить 2 обработчика и свойство DefaultDrawing поставить false

cpp Код:
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1Click(TObject *Sender)
{
    StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row] = "1";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
          TGridDrawState State)
{
    bool redDraw = StringGrid1->Cells[ACol][ARow] == "1";
    StringGrid1->Canvas->Brush->Color = redDraw ? clRed : clWindow;
    StringGrid1->Canvas->FillRect(Rect);
    StringGrid1->Canvas->TextOut(Rect.Left+2, Rect.Top+2, StringGrid1->Cells[ACol][ARow]);
}
//---------------------------------------------------------------------------
Ответить с цитированием
  (#3 (permalink)) Старый
dypel dypel вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.05.2014
По умолчанию 15.05.2014, 23:09

Цитата:
Сообщение от Alexiski Посмотреть сообщение
Нужно установить 2 обработчика и свойство DefaultDrawing поставить false
Спасибо
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов меню нажатием ПКМ на рабочем столе Тайлер Windows 8 3 10.01.2013 16:24
Раскраска карты Nans Prolog 1 31.05.2011 20:25
Select max минимальная раскраска iversonNV Алгоритмы 2 29.12.2010 13:19
Раскраска карты DenMor Prolog 60 01.01.2010 23:44
Раскраска dim2sik Pascal 5 26.10.2009 00:52
Вывод формы в SDI нажатием на кнопку mimoza Visual C++ 1 03.04.2006 12:09
Как нажатием одной клавиши закрыть форму VBA Avsha Visual Basic 1 10.02.2006 21:43
Раскраска карты L Prolog 1 12.12.2005 12:45
Компонент StringGrid в C++ Builder Okean32167 C++ Builder 6 16.05.2005 18:38
раскраска графа Liya Prolog 9 01.02.2005 01:04
Создание обработки нажатием клавиатуры kpu12 C++ Builder 2 26.08.2003 18:45
Прерывание процедуры нажатием на кнопку Button1 Anonymous C++ Builder 2 21.12.2002 01:13



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов