Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.01.2008, 13:56
TARAS87 TARAS87 вне форума
Прохожий
 
Регистрация: 09.01.2008
Сообщения: 1
Репутация: 10
По умолчанию Помогите с DrawGrid

Скажите пожалуйста как программно можно закрасить ячейку DrawGrid в чёрный цвет и нажатием на неё мышкой????
Ответить с цитированием
  #2  
Старый 09.01.2008, 22:30
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Проверяем на нажатие:

Код:
procedure TForm1.StringGrid2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: LongInt);
begin
  try
    if (X >= StringGrid1.Selection.Left) and (X <= StringGrid1.Selection.Right) and
      (Y >= StringGrid1.Selection.Top) and (Y <= StringGrid1.Selection.Bottom) then
      //можно записать в эту ячейку символ, ну или по желанию. Ты сам придумаешь че туда записать ;)
  except
  end;
end;

Допустим нажали...

Разрисовываем ячейку в которой, например находятся буквы "ЗЮ"

Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin

  if (ACol > 'ЗЮ') and (ARow > 'ЗЮ') then  begin     //в этой строке мог ошибиться!
    StringGrid1.Canvas.Brush.color := clblack;
    
//Закрашиваем бэкграунд ячейки
    StringGrid1.Canvas.FillRect(Rect);
//Если надо, то рисуем что-то на ней, например текс, который находится в ячейке.
    StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
  end;
end;




Только переделай на DrawGrid

Последний раз редактировалось ~ SaM ~, 09.01.2008 в 22:35.
Ответить с цитированием
  #3  
Старый 09.01.2008, 22:31
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Проверяем на нажатие:

Код:
procedure TForm1.StringGrid2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: LongInt);
begin
  try
    if (X >= StringGrid1.Selection.Left) and (X <= StringGrid1.Selection.Right) and
      (Y >= StringGrid1.Selection.Top) and (Y <= StringGrid1.Selection.Bottom) then
      //можно записать в эту ячейку символ, ну или по желанию. Ты сам придумаешь че туда записать ;)
  except
  end;    
end;

Допустим нажали...

Разрисовываем ячейку в которой, например находятся буквы "ЗЮ"

Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin

  if (ACol > 'ЗЮ') and (ARow > 'ЗЮ') then  begin     //в этой строке мог ошибиться!
    StringGrid1.Canvas.Brush.color := clblack;
    
//Закрашиваем бэкграунд ячейки
    StringGrid1.Canvas.FillRect(Rect);
//Если надо, то рисуем что-то на ней, например текс, который находится в ячейке.
    StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
  end;
end;




Только переделай на DrawGrid

Последний раз редактировалось ~ SaM ~, 09.01.2008 в 22:35.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter