Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Нужно подобие 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
1-1083844788
temp111
2004-05-06 15:59
2004.05.23
Как вернуть сокеты в Delphi7


14-1083246980
Anthonys
2004-04-29 17:56
2004.05.23
Экспертная система


1-1083848935
Talle
2004-05-06 17:08
2004.05.23
Компонент TXMLDocument


3-1082850562
Михаил
2004-04-25 03:49
2004.05.23
DBGrid


8-1078899334
Галинка
2004-03-10 09:15
2004.05.23
Как повернуть картинку на произвольный угол?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский