C++builder 6, Stringgrid

Тема в разделе "Borland C++ Builder & Kylix", создана пользователем pawtet, 27 ноя 2009.

  1. pawtet

    pawtet Гость

    Добрый день, ув. программисты! Вопрос именно по билдеру 6, т.к. в других версиях синтаксис может отличаться. Мне нужно по нажатии кнопки Button1, закрасить определённые ячейки в StringGrid, в котором уже сгенерирован двухмерный массив mas[X][Y].
    Я пытался обрабатывать событие OnDrawCell, т.к. в нём есть необходимые параметры для закраски, но в таком случае:
    1) Ячейки закрашиваются сразу после запуска программы, а мне надо по нажатии Button;
    2) Поверх закрашеннных ячеек невозможно вывести текст.
    Я работал вот с этим кодом:
    Код (Text):
    void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect,
    TGridDrawState State)
    {
    TStringGrid *p=(TStringGrid*)Sender;
    if (p->Cells[ACol][ARow]==" ") {
    p->Canvas->Brush->Color=clRed;
    } else {
    p->Canvas->Brush->Color=clGreen;
    }
    p->Canvas->FillRect(Rect);

    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    StringGrid1->Cells[1][2]=" ";
    }
    Помогите, пожалуйста его преобразовать, дополнить, или предложите свой вариант. Искренне надеюсь на Вас и Ваш форум. Заранее спасибо!
     
  2. prom

    prom Гость

    У Архангельского в "Русских справках" есть твоя тема - написано понятно, с примерами.
     
Загрузка...
Похожие Темы - C++builder Stringgrid
  1. superprogger
    Ответов:
    0
    Просмотров:
    338
  2. alekssgor
    Ответов:
    0
    Просмотров:
    2.659
  3. alekssgor
    Ответов:
    0
    Просмотров:
    2.406
  4. GrabbeR
    Ответов:
    1
    Просмотров:
    1.151
  5. radivill
    Ответов:
    0
    Просмотров:
    1.275

Поделиться этой страницей