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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.07.2011, 15:42
buches buches вне форума
Прохожий
 
Регистрация: 02.07.2011
Сообщения: 1
Репутация: 10
По умолчанию Сменить цвет выделенного текста

Всем привет) Как сделать чтобы цвет текста в выделенной ячейке DBGrid менялся на clblack к примеру? Нужно обрабатывать событие
Код:
dbgrid1DrawColumnCell
?
Ответить с цитированием
  #2  
Старый 02.07.2011, 19:44
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

зы возможно остались "лишние" переменные,т.к. код взял от своего старого проекта ,но главная задача - раскрашивание, работает норм.
Код:
var
... 
Mrow,Mcol:integer;//глобальные
...
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
 if (((Acol=0)and(Mrow=Arow))or(Acol=Mcol))and((Arow=Mrow)or((Arow=0)and(MCol=Acol))) then
 	begin
	//StringGrid1.Canvas.Brush.Color := clSkyBlue;
	//StringGrid1.Canvas.FillRect(Rect);
  StringGrid1.Canvas.Font.Color:=clRed;
	StringGrid1.Canvas.TextOut(Rect.Left+2, Rect.Top+2, StringGrid1.Cells[ACol, ARow]);
 	end;
end;
////////////////
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
Mcol:=Acol;
Mrow:=Arow;
form1.StringGrid1.Repaint;
end;
Ответить с цитированием
  #3  
Старый 02.07.2011, 19:56
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

тьфу блин,опять лажаю,у вас DBGrid а не Stringgrid. сорри
Ответить с цитированием
  #4  
Старый 02.07.2011, 20:19
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

с DbGrid'ом всё проще оказалось =)
Код:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin
if (gdFocused in State) then //имеет ли ячейка фокус?
DBGrid1.Canvas.Font.Color := clred; 
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State)
end;
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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