View Full Version : هایلایت کردن سطر و ستون فعال در Dbgrid
  
amirtofighi
دوشنبه 28 فروردین 1402, 22:15 عصر
سلام
در ابزار dbgrid چطور میشه سطر و ستون سلول انتخاب شده رو هایلایت کرد؟
ممنون
دلفــي
سه شنبه 20 تیر 1402, 09:48 صبح
سلام
در ابزار dbgrid چطور میشه سطر و ستون سلول انتخاب شده رو هایلایت کرد؟
ممنون
برای هایلایت کردن سطر و ستون سلول انتخابشده در DBGrid، میتوانید از تکه کد زیر استفاده کنید:
1. ابتدا یک رویداد OnDrawColumnCell برای DBGrid تعریف کنید:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  // بررسی اینکه آیا این سلول انتخاب شده یا خیر
  if (gdSelected in State) then
  begin
    with DBGrid1.Canvas do
    begin
      // تنظیم رنگ پسزمینه و پیشزمینه برای هایلایت کردن سلول
      Brush.Color := clHighlight;
      Font.Color := clHighlightText;
      // رسم مستطیل برای هایلایت کردن سلول
      FillRect(Rect);
    end;
  end;
end;
2. تعریف یک رویداد OnDrawDataCell برای DBGrid شما.
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
  // بررسی اینکه آیا این سلول انتخاب شده یا خیر
  if (gdSelected in State) then
  begin
    with DBGrid1.Canvas do
    begin
      // تنظیم رنگ پسزمینه و پیشزمینه برای هایلایت کردن سلول
      Brush.Color := clHighlight;
      Font.Color := clHighlightText;
      // رسم مستطیل برای هایلایت کردن سلول
      FillRect(Rect);
    end;
  end;
end;
3. تعریف یک رویداد OnDrawColumnCell برای DBGrid شما.
procedure TForm1.DBGrid1DrawRowDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
  // بررسی اینکه آیا این سطر انتخاب شده یا خیر
  if (gdSelected in State) then
  begin
    with DBGrid1.Canvas do
    begin
      // تنظیم رنگ پسزمینه و پیشزمینه برای هایلایت کردن سطر
      Brush.Color := clHighlight;
      Font.Color := clHighlightText;
      // رسم مستطیل برای هایلایت کردن سطر
      FillRect(Rect);
    end;
  end;
end;
این تکه کد به شما کمک میکند تا در DBGrid شما، ستون و سطر مورد نظر را هایلایت کنید و رنگ پسزمینه و پیشزمینه را به رنگ مد نظر خود تغییر دهید.
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.