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

سؤال من محترفين Api

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

السلام عليكم

والله عندي سؤال يعني حترت وما لقيت حل للموضوع وأتمنى أن ألقى ضالتي من أحد الأخوة الكرام .

أنا أعمل على برنامج يتطلب مني أن أعرف مخطط النافذة هل هي عربية أم مخطط English يعني لما أضغط على الكيبورد Alt & Shift يتحول الى العربية والى الأنجليزية .

هناك دالة تعطيك هذا المراد لكن ليس أية نافذة فقط التي تعمل عليها أنت .

وأنا أريد أن أمسك مقبض نافذة معينة أخرى وأن أعرف ما مخططها الجاري الآن .

الدالة هذه ليس لها hWnd مقبض , فقط بمجرد أن تضعها في الكود تعطيك المخطط للنافذة الحالية .

هل لهذه المعضلة حل , مع أنني أستشرت محترفين في هذا الموضوع لكن دون جدوى هل من حل ؟

أتمنى من يعرف حل لهذا الموضوع أن لا يبخل علي وشكرا 8-)

#2

المسألة نسبية

لأن الويندوز يتعامل مع لغة الكتابة لكل نافذة على حدى

أذكر الدالة التى تستعملها و سأحاول مساعدتك

لا تراجع و لا إستسلام

#3

السلام عليكم

أود أولا أن اشكرك على التفاعل مع الرد , سوف أعرض لك الدالة مع بعض الشرح لربما تساعدنا وأياك وبعض الأخوة على وجود حل لهذا .

الدالة هي :

GetKeyBoardLayOutName

هذه الدالة سوف تعطيك رقم ( ثابت ) لا يتغير في الويندوز تدل هذه الأرقام على اللغة المقابلة لها في نظام التشغيل مثال لو أننا حصلنا على الرقم :

00000401

فأن هذا يعني ان اللغة المستعلة حاليا هي العربية (Arabic) وأذا حصلنا على الرقم التالي :

00000409 فأن هذا يعني أن اللغة الحالية هي الأنجليزية (English) .

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

لو أننا وضعناها في تايمر , وأنك جربت أن تغير اللغة سوف تعطيك اللغة المستعملة بواسطة أرقام ثوابت .

مثال :

Dim StrName As String

GetKeyBoardLayOutName StrName

If StrName = Val("00000401") Then

Me.Caption = "اللغة الحالية هي عربية "

Else

msgbox StrName

End If

أن ما أريده هو أن أعرف ما اللغة المستعملة حاليا في أية نافذة كانت سواء في النافذة الخاصة بي أو غيرها وهنا تكمن المشكلة .

أرجوا من كافة الاخوة الذين لديهم أجابة على السؤال أن لا يبخل علينا ودمتم سالمين .

وشكرا لك أخي (Net_Code) .

تم تعديل هذه المشاركة بواسطة iemad في 21 مارس 2006 في 14:17

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

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