اظن انه تم معالجة الملاحظات السابقة حول Edit -كود المرفق- اي النص متعدد الاسطر و مفتاح entry لانه باضافة خاصية multiline يصبح المكون يتعامل بطريقة اخرى غير المعهودة .. الا انه ادراج multiline يقلل ارتجاف الكتابة و ارتجاج النص اثناء الكتابة ..
بالنسبة Combobox فعليا لا يوجد كود لرسم النص عندما يكون المكون ب ستايل csOwnerDrawFixed او csOwnerDrawVariable هذه العملية متروكة للمبرمج.. csOwnerDrawVariable معناه امكانية رسم كل عنصر بارتفاع مختلف هذا يتطلب استعمال الحدث OnMeasureItem للتحديد كل ارتفاع على حدة حسب الحاجة ان لم يتم تحديثه فهو مثل csOwnerDrawFixed يحدد الارتفاع جميع العناصر من خلال ItemHeight
الق نظرة على كود المرفق
بالنسبة ل TDBEdit يعتمد على طريقة مختلفة لاظهار النص هو يعتمد على الحدث Paint لرسم النص على Canvas المكون الكود يبدو قديم جدا على الاقل منذ دالفي 7 عندما كان Edit لا يحتوي خاصية TAlignment لهذا تم اللجوء الى الرسم مباشرة ..لكي تعمل التصحيحات المعمولة على Edit يجب حذف كود الخوارزمية WMPaint في TDBEdit
ملاحظة مهمة فيما يخص الطريقة التي اعتمتها من اجل تصحيح العيوب و التي لا تعتمد على التوريث وانما تعتمد على النسخ الاصلية مع تغيير في اسماء الوحدات... هذه الطريقة سوف تسبب مشاكل اخرى منها تضارب الانواع و الاسماء الرموز و المكونات و لربها هناك بعض المتغيرات العامة المشتركة و التي لاتقبل انشاء نسختين .. اذا من الان عليك التفكير في تغيير اسماء المكونات التي قمت بتعديلها و حذف جميع الرموز و الانواع و المتغيرات العامة و الثوابث و استعمال الاصلية مثال TTextLayout
بالنسبة Combobox فعليا لا يوجد كود لرسم النص عندما يكون المكون ب ستايل csOwnerDrawFixed او csOwnerDrawVariable هذه العملية متروكة للمبرمج.. csOwnerDrawVariable معناه امكانية رسم كل عنصر بارتفاع مختلف هذا يتطلب استعمال الحدث OnMeasureItem للتحديد كل ارتفاع على حدة حسب الحاجة ان لم يتم تحديثه فهو مثل csOwnerDrawFixed يحدد الارتفاع جميع العناصر من خلال ItemHeight
الق نظرة على كود المرفق
بالنسبة ل TDBEdit يعتمد على طريقة مختلفة لاظهار النص هو يعتمد على الحدث Paint لرسم النص على Canvas المكون الكود يبدو قديم جدا على الاقل منذ دالفي 7 عندما كان Edit لا يحتوي خاصية TAlignment لهذا تم اللجوء الى الرسم مباشرة ..لكي تعمل التصحيحات المعمولة على Edit يجب حذف كود الخوارزمية WMPaint في TDBEdit
ملاحظة مهمة فيما يخص الطريقة التي اعتمتها من اجل تصحيح العيوب و التي لا تعتمد على التوريث وانما تعتمد على النسخ الاصلية مع تغيير في اسماء الوحدات... هذه الطريقة سوف تسبب مشاكل اخرى منها تضارب الانواع و الاسماء الرموز و المكونات و لربها هناك بعض المتغيرات العامة المشتركة و التي لاتقبل انشاء نسختين .. اذا من الان عليك التفكير في تغيير اسماء المكونات التي قمت بتعديلها و حذف جميع الرموز و الانواع و المتغيرات العامة و الثوابث و استعمال الاصلية مثال TTextLayout


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)