Главная страница
    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.46 MB
Время: 0.036 c
9-1074297342
NamlessOne
2004-01-17 02:55
2004.05.23
DelhiX !!! а как быть с C++Builder ?!?!


6-1080739382
Max_
2004-03-31 17:23
2004.05.23
компонент twebbrouser


1-1084119376
danver
2004-05-09 20:16
2004.05.23
String и утечка памяти


1-1083833388
NAlexey
2004-05-06 12:49
2004.05.23
Как преобразовать число с плавающей точкой в ненаучный формат


3-1083011474
Volodya_
2004-04-27 00:31
2004.05.23
Resync





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский