الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دالة للتعريب الكامل(اعادة رسم النموذج)

مغلق
بدأه غير مسجل في 2 يناير 2002 · 3 رد · 915 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

بعد التحية،،،

اقوم بتصميم برنامج يخير المستخدم بان يكون البرنامج عربي او انجليزي،، و لم توجهني اية مشكلة في النصوص،، لكن في مواضع الادوات واجهتني مشكلة ، فاذا كان البرنامج عربي مثلا يجب ان يكون:

(اداة عنوان) (مربع نص)،، فلم اشأ ان ارسم نموذج للبرنامج اذا كان عربي، و آخر اذا كان انجليزي،، فعملت هذه الدالة البسيطة، و لم تواجهني مشكلة نسبيا.. جربوها و اعطوني رايكم.. مع ملاحظة الآتي:

1- عند تعريب الادوات التي لا تحوي RightToLeft ،يحدث تشوه مريع لبعض الادوات "مثل صندوق محركات الاقراص".

2- بعض الادوات لا تقبل شفرة (من اليمين الى اليسار) “DBGrid”.

3- لم تعمل الشفرة على النافذة (اريد ان اجعل ControlBox الى اليسار).

هذا ولكم جزيل الشكر و التقدير

و الرابط هو

http://mypage.ayna.com/vb_vb_vb/FRightToLeft.zip

#2

بعد التحية...

الم يجرب احد الفكرة ؟؟ الم يحتج احد منكم الى شئ شبيه بهذا يوما ؟؟ حسنا،ان لم يكن هناك تجاوب (لان الفكرة مملة وبسيطة)، ساتوقف عن انتظار الردود...

التطورات

سوف يكون هناك تشويه لشكل النافذة اذا كانت الادوات في مربع صورة او في اطار ،،، لدي بعض الافكار،سوف اجربها، و ان نجحت، و رأيت التجاوب معي سوف اضعها لكم (لاني اقعد على الكمبيوتر و عيني لا تفارق الساعة،فما بالك بالانترنت(المخدر) ).

اخوكم:[gl]محمد سعيد [/gl]

#3

طريقة استخدام النمط &H400000 -والذي امتنعت مايكروسوفت عن توثيقه- هي فكرة ثورية لتعريب النوافذ والادوات. ويجب عليك اجراء التجارب بنفسك لايجاد الحلول الملائمة لكل مشكلة وقد بدات في وقت سابق بحل مشكلات لهذا النمط عن طريق توقع حلول لكل مشكلة ومحاولة تجربتها ولكنني توقفت لكثرة المشكلات في العديد من الادوات .. على العموم يمكنك استنتاج الحلول من خلال المحاولة والخطأ..

1-بالنسبة لسؤالك حول ضبط الخاصية Righttoleft للأدوات التي لاتمكن هذه الخاصية فيمكنك استخدم الدالة SetLayout لتنفيذ المهمة (لاتنس استخدام الدالة GetDc للحصول على مقبض سياق الجهاز)..

2- لا يوجد حل لهذه الاداة بسبب عدم قياسيتها لكن تستطيع استخدام ادوات بديلة لتنفيذ المهمة.

3-بالنسبة للتشوهات فلم تحدد ايا منها، ويمكن حل التشوه الناتج عن تحجيم الاداة بالغاء تفعيل الخاصية HasDC للنموذج ...

#4

[gl]بعد التحية...[/gl]

اشكرك شكرا جزيلا يا اخي (للقراءة فقط)، و اليك ملاحظاتي التي يبدو انها كانت غامضة:

1- بالنسبة لتعين خاصية RightToLeft للأدوات التي لا تحوي هذه الخاصية ، تقوم دالتنا SetRtoL بالمهمة ،،و هي ناجحة في معظم الاحيان ، ...

2- لا استطيع "شخصيا" ان اجزم بانه لا يوجد حل لشئ معين، فقد توجد حلول كثيرة وسهلة ،لكن ،و بمنتهى السهولة لا اعلم بها ،او لم تخطر على بالي ، (اكان يتوقع احد في بدايات الثمانينات ايجاد نظام تشغيل رسومي)... و مع ذلك لن اتعبك معي في البحث عن حل،فما دامت الادوات القياسية موجودة فلماذا نضيع الوقت،، (ما هي هذه الادوات؟!

3- التشوهات التي رايتها على Dir و Drive هي:

أ- يكمن شكل محتوى الاداة: (صورة،اسم القرص"او الدليل"،: او /)

ب- عند اختيار القائمة المنسدلة في Drive ،تكون القائمة في الاتجاه الطبيعي لها مثل :(:D و صورة)....

4- التشوهات التي كتبت في الرد الثاني ناتجة عن ان الدالة FRightToLeft(Frn as Form) تقوم بتحديد مواضع الادوات حسب قياس النافذة ، في حين اننا نحتاج لتعين الموضع بالنسبة لمقعها في اداة الصورة PictureBox ، اي يجب اولا الحصول على اب الاداة،فاذا كانت النافذة هي الاب تؤدي دالتنا الوضيفة باحن وجه ،لكن اذا كان الاب PictureBox او Frame فقد يكون موضع الاداة في مكان ابعد من حجم ال PictureBox او Frame ،، اي تختفي الاداة...!!

و اخيرا، اوافيك ببعض التطورات عندي:

استطعت ان اجعل ال ControlBox الى اليسار بسهولة شديدة ،و هي ان اجعل الدالة

[l]SetRtoL(Ctl As Control)[/l]

بالشكل التالي فقط:

[l]SetRtoL(Ctl As Form )[/l]

هذا و لكم جزيل الشكر و التقدير خصوصا (للقراءة فقط)

اخوكم

محمد سعيد

هذا الموضوع مغلق.

مواضيع مشابهة