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

1 إجابة واحدة

–1 تصويت

 

يجب عليك وضع 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;

 

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

اسئلة متعلقة

+2 تصويتات
1 إجابة
سُئل أغسطس 23 في تصنيف Delphi بواسطة Amar Gozim (5,760 نقاط) | 30 مشاهدات
+2 تصويتات
1 إجابة
+3 تصويتات
3 إجابة
سُئل يوليو 25 في تصنيف Delphi بواسطة Amar Gozim (5,760 نقاط) | 70 مشاهدات
+3 تصويتات
2 إجابة
سُئل يوليو 24 في تصنيف Delphi بواسطة Amar Gozim (5,760 نقاط) | 55 مشاهدات
+2 تصويتات
3 إجابة
سُئل يوليو 21 في تصنيف Delphi بواسطة Amar Gozim (5,760 نقاط) | 52 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

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

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

207 سؤال
391 إجابة
682 تعليق
118 مستخدم