easyDelphi Q&A
+1 تصويت
182 مشاهدات
سُئل في تصنيف Delphi بواسطة (10,690 نقاط) | 182 مشاهدات

2 إجابة

0 تصويتات

نكتب الكود التالي في الحدث OnCanResize للفورم    :

const
  Form_Width_default = 759;
  Field0_Width_default = 106;
  Field1_Width_default = 104;
  Field2_Width_default = 121;
  Field3_Width_default = 94;
  Field4_Width_default = 153;
  Field5_Width_default = 104;
var
  Percent_Size : Real;

begin

  Percent_Size := (Self.Width * 100) / Form_Width_default ;

  DBGrid1.Columns[0].Width := Round((Field0_Width_default * Percent_Size) / 100);
  DBGrid1.Columns[1].Width := Round((Field1_Width_default * Percent_Size) / 100);
  DBGrid1.Columns[2].Width := Round((Field2_Width_default * Percent_Size) / 100);
  DBGrid1.Columns[3].Width := Round((Field3_Width_default * Percent_Size) / 100);
  DBGrid1.Columns[4].Width := Round((Field4_Width_default * Percent_Size) / 100);
  DBGrid1.Columns[5].Width := Round((Field5_Width_default * Percent_Size) / 100);

end;

ملاحظة : استعملت خمس حقول للترجة فقط ... اذا كان لديك حقول اكثر يجب اضافة ثوابت اكثر مع اعطاء لكل ثابت قيمة عرض الحقل الافتراضية

 -  نسبة خطأ في تمديد الحقول ليست كبيرة  وهذا بسبب انا الخاصية width لاتقبل ال real  لهذا استعملت Round للتقريب .

  
  
تم الرد عليه بواسطة (10,690 نقاط)
0 تصويتات
في الحقيقة انت لا تحتاج الى ثوابت ...
عندك dbgrid وكل الحقول الي فييه و ايضا عندك عرض"width" الفورم
خلاص هذا الي تحتاجو ....
ممكن تعمل column خاص بيك تحط فيه نسبة مئوية حتى يكون شكل dbgrid  متناسق..
مثلن حقل "إسم الصنف" اكيد يكون اكبر من حقل "الكمية"
تم الرد عليه بواسطة (240 نقاط)

اسئلة متعلقة

+4 تصويتات
2 إجابة
سُئل يوليو 24، 2018 في تصنيف Delphi بواسطة Amar Gozim (10,690 نقاط) | 305 مشاهدات
0 تصويتات
1 إجابة
سُئل فبراير 8 في تصنيف vcl بواسطة Amar Gozim (10,690 نقاط) | 41 مشاهدات
0 تصويتات
1 إجابة
سُئل أبريل 24 في تصنيف Delphi بواسطة Nour Eldeen (200 نقاط) | 43 مشاهدات
+4 تصويتات
2 إجابة
سُئل أغسطس 4، 2018 في تصنيف vcl بواسطة مجهول | 67 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك
Comodo SSL

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

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

369 سؤال
598 إجابة
1,051 تعليق
231 مستخدم