easyDelphi Q&A
+3 تصويتات
38 مشاهدات
أريد من المستعمل الاطلاع على القائمة واختيار السطر المناسب في جدول stringgrid
سُئل في تصنيف Delphi بواسطة (150 نقاط) | 38 مشاهدات
 
اعطي تفصيل اكثر. واذا في عندك صورة قريبة لما تطلب يكوز افضل

1 إجابة واحدة

0 تصويتات

 

يجب عليك وضع checkbox في النافذة مع الstringgrid  ( نفس الparent ) اقصد ان كانت الجريد في panel ضع الـ checkbox معها في نفس الـ panel    واكتب الاجراءات التي تريد عن النقر عليها . لان الـ checkbox داخل الـ stringgrid ستستخدم نفسها >

 

اضافة  checkbox لـ StringGrid :
 

 

procedure TForm1.AddCheckBox(aColNumber: integer; aRowNumber: Integer);
var
  NewCheckBox :TCheckBox;
begin
  NewCheckBox := TCheckBox.Create(StringGrid1);
  NewCheckBox.Visible := False;
  NewCheckBox.Color :=  clWhite;
  NewCheckBox.OnClick := CheckBox1.OnClick; 
  StringGrid1.Objects[aColNumber, aRowNumber] := NewCheckBox;
  SetCheckBoxAlignment(aColNumber, aRowNumber, True); // هذا الاجراء لتنسيق مكان الـ checkbox حسب احداثيات الخلية  
end;

 

وهذا الاجراء المستخدم في لتنسيق مكان checkbox 

procedure TForm1.SetCheckBoxAlignment(aColNumber, aRowNumber:integer; bChecked :Boolean);
var
  NewCheckBox :TCheckBox;
  Rect :TRect;
  TempInt :Integer;
begin
  NewCheckBox := (StringGrid1.Objects[aColNumber, aRowNumber] as TCheckBox);
  if NewCheckBox <> nil then
  begin
    Rect := StringGrid1.CellRect(aColNumber,aRowNumber);
    TempInt := TRUNC((Rect.Right – Rect.Left)/2);
    NewCheckBox.Left  := StringGrid1.Left + Rect.Left + TempInt;
    NewCheckBox.Top   := StringGrid1.Top + Rect.Top+2;
    NewCheckBox.Width := TempInt;
    NewCheckBox.Height := Rect.Bottom – Rect.Top;
    NewCheckBox.Visible := True;
    if bChecked then
    begin
      NewCheckBox.Checked := True;
    end else
    begin
      NewCheckBox.Checked := False;
      NewCheckBox.Color := clBlue;
    end;
  end;
end;

 

تم الرد عليه بواسطة (18,180 نقاط)

اسئلة متعلقة

+4 تصويتات
2 إجابة
+1 تصويت
1 إجابة
سُئل سبتمبر 19 في تصنيف Delphi بواسطة mahieddine (570 نقاط) | 53 مشاهدات
+2 تصويتات
1 إجابة
سُئل أغسطس 23 في تصنيف Delphi بواسطة Amar Gozim (10,350 نقاط) | 49 مشاهدات
+4 تصويتات
1 إجابة
ادعُ اصدقائك في الفايسبوك لمشاركتك

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

268 سؤال
478 إجابة
838 تعليق
166 مستخدم