Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Нужно подобие StringGrid с возможностью задавать цвет...   Найти похожие ветки 

 
Artur   (2004-05-09 20:42) [0]

Нужно подобие StringGrid с возможностью задавать цвет отдельным ячейкам.


 
Anatoly Podgoretsky ©   (2004-05-09 20:51) [1]

Ты хочешь написать или достать?


 
pasha_golub ©   (2004-05-09 20:53) [2]

TStringGrid.OnDrawCell+F1

а если вспомнить про название конференции, то


type

TMySuperGrid = class(TStringGrid)
...


 
Artur   (2004-05-10 09:24) [3]

Мне нужно достать


 
SergP ©   (2004-05-10 09:45) [4]

>Artur   (10.05.04 09:24)
>Мне нужно достать

Зачем? неужели 5-6 строчек кода в OnDrawCell труднее написать чем найти, скачать и поставить новый компонент?


 
Artur   (2004-05-10 11:10) [5]

С огромным удовольствием напишу, вы только подскажите как...


 
TUser ©   (2004-05-10 11:40) [6]

Ну вот у меня завалялось
unit uMyStringGrid;

interface

uses
 SysUtils, Classes, Controls, Grids, Graphics, types, windows;

type
 TOnCanFill = procedure (Sender:TObject; ACol, ARow:longint; var Fill:boolean) of object;

 TMyStringGrid = class(TStringGrid)
 private
   FFillColor:TColor;
   FOnCanFill:TOnCanFill;
 protected
   procedure DrawCell(ACol, ARow: Longint; ARect: TRect;
     AState: TGridDrawState); override;
 published
   property FillColor:TColor read FFillColor write FFillColor;
   property OnCanFill:TOnCanFill read FOnCanFill write FOnCanFill;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Aksianov", [TMyStringGrid]);
end;

procedure TMyStringGrid.DrawCell(ACol, ARow: Longint; ARect: TRect;
     AState: TGridDrawState);
var CanFill:boolean;
begin
  CanFill:=false;
  if assigned (FOnCanFill) then
     FOnCanFill(Self,ACol,ARow,CanFill);
  if CanFill then
     with Self.Canvas do
        Brush.Color:=FFillColor;
  inherited;
  if CanFill then
     Brush.Color:=clWhite;
end;

end.



 
Anatoly Podgoretsky ©   (2004-05-10 11:55) [7]

Artur   (10.05.04 11:10) [5]
А поиск по слову OnDrawCell хотя бы на этом сайте ты сделал?
На Королевство Дельфи ходил.

Этих двух сайтов достаточно.


 
Artur   (2004-05-10 12:48) [8]

TUser - спасибо, попробую разобраться
Anatoly Podgoretsky - хорошая идея :-)


 
Rouse_ ©   (2004-05-10 14:54) [9]

> TUser ©   (10.05.04 11:40)
Ну, тогда уж:

procedure TMyStringGrid.DrawCell(ACol, ARow: Longint; ARect: TRect;
    AState: TGridDrawState);
var CanFill:boolean;
 FCurrentColor: TColor;
begin
 CanFill:=false;
 FCurrentColor := Brush.Color;
 if assigned (FOnCanFill) then
    FOnCanFill(Self,ACol,ARow,CanFill);
 if CanFill then
    with Self.Canvas do
       Brush.Color:=FFillColor;
 inherited;
 if CanFill then
    Brush.Color:=FCurrentColor;
end;


А то некрасиво получится если цвет по умолчанию не clWhite в цветовой схеме


 
pasha_golub ©   (2004-05-10 15:32) [10]

Rouse_ ©   (10.05.04 14:54) [9]
Верно подметил. На этом часто люди валятся.



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
3-1083316895
Курдль
2004-04-30 13:21
2004.05.23
Апологетам "MS SQL Server" - что там с блокировками записей?


3-1083294945
tnp.andrew
2004-04-30 07:15
2004.05.23
Как построить интерфейс быстрого ввода n взаимосвязанных таблиц?


3-1082502716
maniac
2004-04-21 03:11
2004.05.23
MySQL+Zeos Query делаю insert данные в базе а программе ошибка :(


14-1082974970
Даже и не знаю кто я теперь.
2004-04-26 14:22
2004.05.23
Была тема про дизайн сайта. Это продолжение.


6-1081284805
Rander
2004-04-07 00:53
2004.05.23
Http Encode