Перейти к содержанию
  • Регистрация
  • 0
maxma777

Помогите со StringGrid

Вопрос

Подскажите как сделать StringGrid в виде шахматной доски. И чтобы цифры были видны.

procedure TForm1.StringGrid1DrawColumnCell(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF;
  const Row: Integer; const Value: TValue; const State: TGridDrawStates);
 begin

      if Row mod 2 = 0 then
      if Column.Index= 3 then

      begin
         CoLumn.Padding.Rect:=rectF(0,0,0,0);
        Canvas.Fill.Color:=TAlphaColorRec.Black;
        Canvas.FillRect(Bounds,0,0,[],1);

      end;
    end;

Искал в инете но что не один вариант не подошел.

Вроде должно быть легко, ну что то у меня проблемы с Fire Monkey. 

Приложение делаю на Delphi 10.1 Berlin

2016-11-24_203724.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

и там написал и тут напишу -  т.к. вам все равно рисовать руками тотально все кроме сетки, то проще уж все и нарисовать, включая сетку. и не использовать StringGrid.

А в приведенном примере

после черного Canvas.FillRect нужно еще и белый текст нарисовать поверх. а на белых клетках - черный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0


Следует также не забыть установить стиль заливки TBrushKind.Solid

Возможно стоит воспользоваться событием OnDrawColumnBackground при этом Options должно включать AlternatingRowBackground.

16 часов назад, krapotkin сказал:

проще уж все и нарисовать

Подозреваю, что в данном случае — не :o)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От traylers
      На форме лежит VertScrollBox в нем лежит два StringGrid, один под другим. У StringGrid'ов высота на весь контент, т.е. собственных прокруток у них нет. Но на андроиде если ткнуть в StringGrid и попробовать прокрутить, то прокрутка не работает, только если взяться за любой другой элемент. Как это можно исправить?
    • От geotub
      Уважаемые знатоки! Здравствуйте!
      с FMX дружу плохо! Задача тривиальная прошу помощи!
      есть соединение с MYSQL через Bind Visual привязан к StringGrid, данные отображаются идеально все хорошо!
      Задача слеждующая:
      - есть колонка "status" со значениями от 0 до 10 
      - есть imageList с картинками в таком же диапазоне 
      Необходимо в StringGgrid вместо значений выводить картинку из imageList равную значению (значение 3 = номер imageList = 3 и тд) 
      Пробовал все Варианты ничего не выходит! Пожалуйста помогите!
    • От web_warp
      В DrawColumnCell провожу зарисовку некоторых строк, необходима подсветка цветом. И тут возникла неожиданная проблема на ровном месте: ячейка, где текстом записано время, почему-то меняет местами время и дату, хотя передаётся в функцию FillText как надо.
      TabbedForm->StringGrid1->Canvas->Fill->Color = background_color; TabbedForm->StringGrid1->Canvas->FillRect(Bounds, 0, 0, AllCorners, 100); TabbedForm->StringGrid1->Canvas->Fill->Color = font_color; TabbedForm->StringGrid1->Canvas->Font->Style << fsBold; TabbedForm->StringGrid1->Canvas->FillText(Bounds,TabbedForm->StringGrid1->Cells[Column->Index][Row], false, 100,TFillTextFlags() << TFillTextFlag::ftRightToLeft, TTextAlign::taTrailing, TTextAlign::taTrailing); Подскажите пожалуйста, как развернуть время обратно?

      Ну и параллельно вопрос: как строку сплошным цветом заливать? Без белых границ?
    • От Alexander
      Попытался открыть проект в Berlin'е, среда выдала ошибку что не находит обработчиков DragOver, DragDrop, DblClick, MouseDown...
      Вопрос: где искать? 
      Если их нет: что делать?
    • От master webs
      Добрый день такая проблема думал она  только  на android но за метил и на win
      в StringGrid загружаю данные с clientdataset
      но первая строка  чем то перекрыта непонятно чем  любое действие с формой  удаляет перекрытие (ощущение что не прорисована  до конца первая ячейка первой строки)
      когда подгружаю новые данные  ситуация повторяется
      прикрепил изображение
      кстати такой проблемы не было в xe8 появилась в 10 Seattle
      проверил Grid такая же проблема
       
      в ios и mac таких проблем не наблюдаю

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...