PDA

View Full Version : تغییر رنگ در گرید



حمیدرضاصادقیان
یک شنبه 29 شهریور 1383, 10:59 صبح
سلام دوستان .
من با اون روشی که یکی از دوستان گفته بود با استفاده از canvas ها رنگ هر ستون در گرید رو تغییر دادم.حالا در بعضی رنگها وقتی میام روی همون ردیف می ایستم که رنگ اون ردیف هم روشنه دیگه نوشته ها معلوم نیست و سفیده .میخواستم ببینم نمیشه رنگ نوشته ها رو تغییر داد.؟

_alish_
یک شنبه 29 شهریور 1383, 12:03 عصر
بگرد تازگی ی چیز نوشتم همونه

حمیدرضاصادقیان
یک شنبه 29 شهریور 1383, 13:00 عصر
دوست عزیز نمیشه لینکش رو بدی؟

nasr
یک شنبه 29 شهریور 1383, 13:15 عصر
این مال همین سایته

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls;

type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Table1: TTable;
DataSource1: TDataSource;
Button1: TButton;
procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin

if (table1.RecNo mod 2) = 0 then
DBGrid1.Canvas.Brush.Color := clRed // ??? ??I E?C? ?I??
else
DBGrid1.Canvas.Brush.Color := clYellow ; // ??? E??O E?C? ?I??

if gdSelected in State then
begin
DBGrid1.Canvas.Brush.Color := clWhite; // ??? ????? ???? ?? ??? A? ???? OI?
DBGrid1.Canvas.Font.Color := clRed; // ??? ???? ?? ??? A? ???? OI?
end;

DBGrid1.Canvas.FillRect(Rect) ;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;

end.

_alish_
یک شنبه 29 شهریور 1383, 14:56 عصر
آقای نصر ین روش را من استفاده میکردم ولی در سایتی خواندم بهتر است در این Event از Canvas استفاده نشود و بجای آن در
http://www.barnamenevis.org/forum/viewtopic.php?p=76783&highlight=#76783
از آن استفاده کنید

حمیدرضاصادقیان
یک شنبه 29 شهریور 1383, 18:54 عصر
خیلی ممنون از همه دوستان.
من از همون روشی که دوست عزیزمون alish گفتن رفتم و جواب گرفتم.

ممنون از همتون. :flower: