![]() |
|
تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي و التعامل مع قواعد البيانات (https://delphi4arab.net/forum/forumdisplay.php?fid=23) +--- الموضوع : تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر (/showthread.php?tid=99) |
تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - delphi4ever - 22-03-2008 السلام عليكم ورحمة الله لإعطاء المكون DbGrid شكل خاص وجميل سوف نقوم بتلوين الأعمدة Colums أو الأسطر Lines الخاصة بهذا المكون ليصبح على الشكل التالي: ![]() ومن أجل عمل هذا نقوم بما يلي: نقوم بزيادة السطر التالي مباشرة تحت كود : {$R *.DFM}كود : type
AlternGrid = class(TCustomDBGrid);ثم نذهب إلى الحدث OnDrawColumCell الخاص بالمكون DbGrid ونكتب الكود التالي: كود : var dataset:Tdataset;
begin
dataset:= (Sender as TDBGrid).DataSource.DataSet;
with AlternGrid(Sender) do
begin
if (DataSet.RecNo mod 2 = 1 ) then
Canvas.Brush.Color := $00E6D9C4
else
Canvas.Brush.Color := $00EAF7FF;
if DataLink.ActiveRecord = Row -1 then
begin
Canvas.Font.Color:=clwhite ;
Canvas.Brush.Color:=clblack;
end; end ;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column, State);السورس في المرفقات وبالتـــوفيق.
تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - مهدي - 02-04-2008 و هذه إضافة مني لكيفية تلوين الأعمدة ![]() كود : {this source created by mahdi, a member of delphi4arab forum
http://www.delphi4arab.net/forum/
تم إنجاز السورس من طرف مهدي العضو بمنتدى دلفي للعرب}
procedure TForm1.FormCreate(Sender: TObject);
var I: Integer;
begin
I:=0;
while I<DBGrid1.Columns.Count-1 do
begin
DBGrid1.Columns[i].Color:=$00E6D9C4;
// DBGrid1.Columns[i].Title.Color:=$00EAF7FF;
I:=I+1;
DBGrid1.Columns[i].Color:=$00EAF7FF;
// DBGrid1.Columns[i].Title.Color:=$00E6D9C4;
I:=I+1;
end;
end;ملاحظة: الكود لا يعمل مع الكود الأول الخاص بالأسطر تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - taha_gh - 03-04-2008 السلام عليكم ورحمة الله وبركاته لاكن أخي إذا إستعملنا الفلترة Filtre في الطريقة الأولي فستختلط الألوان تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - diali - 06-04-2008 السلام عليكم ورحمة الله وبركاته يا إخواني هناك طريقة أبسط من ذلك وبدون كود وهي أن تقوم ( دوبل كليك ) على Dbgrid فتظهر لك نافة ( Modification de Dbgrid1.Columns ) فتنقر بالزر الأيسر للماوس و تختار Ajouter فيظهر سطر مكتوب فيه TColumn قم بتبديله ما هو موجود في قاعدة البينات ولكين Nom مثلا ثم تضف آخر فليكن Adresse ثم تذهب ل: Inspecteur d'objets فأختر اللون المناسب عن طريق الضغط على Color بالنسبة لـ: Nom أصفر مثلا وأضغط على Adresse وأختر المناسب له.........وشكرا. تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - مهدي - 07-04-2008 و عليكم السلام و رحمة الله إقتباس :يا إخواني هناك طريقة أبسط من ذلك وبدون كود هذه الطريقة تصلح مع المثال الثاني فقط و لا تصلح مع الأول تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - أمير الدلفي - 02-05-2008 ولجعل تجيلات السطر الذي يؤشر اليه المؤشر ملونة عليك بهذا الكود : procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin If gdFocused in State then with (Sender as TDBGrid).Canvas do begin Brush.Color := clRed; FillRect(Rect); TextOut(Rect.Left, Rect.Top, Field.AsString); end; end; end. تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - matrix - 25-05-2008 السلام عليكم إليكم أول كود أضعه هنا من يريد Dbgrid شفاف ![]() كود : procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var
Text: string;
Rct: TRect;
begin
Text := Field.AsString;
Rct:= Rect;
BitBlt(DBGrid1.Canvas.handle,
Rct.left,
Rct.top,
Rct.right - Rct.left,
Rct.bottom - Rct.top,
Image1.Canvas.Handle,
Rct.left + DBGrid1.Left,
Rct.Top + DBGrid1.Top ,
SRCCOPY);
SetBkModE(DBGrid1.Canvas.Handle, TRANSPARENT);
DBGrid1.Canvas.Font.Style := [fsBold];
DBGrid1.Font.color := cLblue;
DrawtextEx(DBGrid1.Canvas.Handle,
PChar(Text),
Length(Text),
Rct,
DT_WORDBREAK,
nil);
end;)َضع Timage وراء Dbgrid ) في الحقيقة يقوم هذا البرنامج بنسخ كل Pixel من Image1 على Dbgrid1 هكذا يظهر ال Dbgrid وكأنه شفاف بالتوفيق تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - merouane - 25-05-2008 شكرا matrix في رأيي، من الأفضل " من يريد صورة في خلفية DBGrid " تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - matrix - 25-05-2008 @merouane على الرحب و السعد "في رأيي، من الأفضل " من يريد صورة في خلفية DBGrid "" ربما صحيح, لا كن في حالة إذا لم يكن image1 وراء Dbgrid تماما "أنت تفهم قصدي"حظ موفق تحسين شكل المكون DBgrid بتلوين الاعمدة او الاسطر - justnick - 02-08-2012 ما فائدة السطر الذى اضفناه فى البداية PHP كود : AlternGrid = class(TCustomDBGrid); PHP كود : procedure TfrCataloge.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; |