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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2016, 20:48   #1
Александр3
Пользователь
 
Регистрация: 22.11.2015
Сообщений: 52
По умолчанию StringGrid

На форме 2 String Grid. 1 добавлял давно, 1 недавно. У обоих одинаковый код только в событии StringGrid1DrawCell, других событий нет. Одинаковые propertis. Но, код основан на выделенной ячейке. том Гриде, который я добавил давно, выделяется только 1 ячейка, если зажму мышь и буду водить, то выделяется только 1 ячейка, во втором, если я зажму мышь и буду водить, выделяется область.Мне надо как в первом, только 1 ячейка. Я замучался искать в чём проблема, код и настройки одинаковы. Вот код:
Код:
if ((!State.Contains(gdFixed))&&(this->StringGrid1->Cells[ACol][ARow].ToInt()==0)){ StringGrid1->Canvas->Brush->Color = clWhite; StringGrid1->Canvas->Font->Color = clWhite;  }
       if ((!State.Contains(gdFixed))&&(this->StringGrid1->Cells[ACol][ARow].ToInt()==1)) {StringGrid1->Canvas->Brush->Color = clBlue;   StringGrid1->Canvas->Font->Color = clBlue; }
       if ((!State.Contains(gdFixed))&&(this->StringGrid1->Cells[ACol][ARow].ToInt()==2)) {StringGrid1->Canvas->Brush->Color = clCream;   StringGrid1->Canvas->Font->Color =clCream;}

       if (State.Contains(gdFixed))
      {
         StringGrid1->Canvas->Brush->Color = RGB(220,220,220);
          StringGrid1->Canvas->Font->Color = clWindowText;
          StringGrid1->Canvas->FillRect(Rect);
          Frame3D(StringGrid1->Canvas, Rect,
                  clBtnHighlight, clBtnShadow, 1);
      }
      else if (State.Contains(gdSelected))
      {
          StringGrid1->Canvas->Brush->Color = clHighlight;
          StringGrid1->Canvas->Font->Color = clHighlight;
          StringGrid1->Canvas->FillRect(Rect);
      }




     AnsiString text = StringGrid1->Cells[ACol][ARow];
     StringGrid1->Canvas->TextRect(Rect, Rect.Left, Rect.Top, text);
Для СтрингГрид2 будет везде Грид Стринг2 соответственно
http://programmersforum.ru/attachmen...1&d=1478281664
Изображения
Тип файла: png Безымянный.png (46.7 Кб, 142 просмотров)
Александр3 вне форума Ответить с цитированием
Старый 15.11.2016, 00:55   #2
Didgik
Пользователь
 
Регистрация: 13.11.2016
Сообщений: 13
По умолчанию

Options -> goRangeSelect
Didgik вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Excel to StringGrid and StringGrid to Exel Євгеній Бєлік Общие вопросы Delphi 3 24.11.2013 00:20
stringgrid lblondy Компоненты Delphi 0 08.06.2011 22:32
StringGrid strannik23 Общие вопросы Delphi 0 08.06.2011 10:11
stringgrid+колесо мыши=>stringgrid.onclick aalleexxaa Общие вопросы Delphi 5 16.02.2011 16:58
StringGrid MAcK Общие вопросы .NET 2 31.03.2008 11:40