|
دليل استخدام إجراءات VBAppAss.dllللمبرمجين بلغة Visual Basic 6.0 |
تغيير تخطيط أحد مكونات النافذة من اليمين إلى اليسار أو العكس.
الصيغة:
Sub ChangeControlLayout(ControlHandle As Long, ArabicLayout As Boolean)
الصنف:
TUserInterface.
الوسائط (Parameters):
| ControlHandle | مقبض (Handle) العنصر. في Visual Basic، هذا المقبض تمثله الخاصية hWnd. | |
| ArabicLayout | إذا كانت قيمة هذا البارامتر True فإنه يتم تغيير تخطيط العنصر ليصبح باتجاه من اليمين إلى اليسار (Right-to-Left layout). |
الشرح:
يقوم هذا الروتين بتغيير تخطيط أحد المكونات أو العناصر ليصبح باتجاه من اليمين إلى اليسار (أو العكس حسب قيمة البارامتر ArabicLayout). غالباً لن تحتاج إلى استدعاء هذا الإجراء مع ضبط البارامتر ArabicLayout على False، لأن التخطيط الافتراضي للعناصر هو من اليسار إلى اليمين.
هذا الإجراء مفيد في حالة المكونات التي ليس لها خاصية RightToLeft أو التي لا يكون فيها لهذه الخاصية أي تأثير، مثل المكونات ListView و TreeView و DateTimePicker، ... إلخ.
مهم جداً
بعض مكونات Windows تحتوي في داخلها على مكونات داخلية (مكونات أبناء = Child controls or windows) كما هو الحال مع المكون ListView الذي يحتوي بداخله على عنصر فرعي خاص بعناوين الأعمدة (Column Headers). في هذه الحالة نحتاج أيضاً إلى استدعاء هذا الإجراء من أجل ذلك المكون الفرعي بعد الحصول على مقبضه. للتوضيح أكثر انظر المثال الثاني في الاستخدام أدناه.
الاستخدام:
Dim ObjUI As New TUserInterface
' 1:
ObjUI.ChangeControlLayout TreeView1.hWnd, True
' 2: We need 2 calls for the ListView: first for the column headers child control, the second for the listview itself:
ObjUI.ChangeControlLayout FindWindowEx(ListView1.hWnd, 0&, "msvb_lib_header", ""), True
ObjUI.ChangeControlLayout ListView1.hWnd, True
لاحظ أننا استعملنا الدالة FindWindowEx (و هي إحدى دوال واجهة برمجة التطبيقات - API Functions التابعة للنظام Windows) للحصول على مقبض (Handle) نافذة رؤوس الأعمدة (Column headers) التابعة للعنصر ListView. النص "msvb_lib_header" هو اسم الصنف (Class name) الخاص بمكون رؤوس الأعمدة.
انظر أيضاً:
الروتين MakeWindowRTL.