الموضوع السابق   الموضوع التالي 

نوافذ حوار عربية

Procedure: ShowArabicOpenDlg
Procedure: ShowArabicSaveDlg
Procedure: ShowArabicPrintDlg
Procedure: ShowArabicFontDlg
Procedure: ShowArabicColorDlg

الغرض
تعريب واجهات نوافذ الحوار الشائعة، و الممثلة في دلفي بالمكونات: TOpenDialog (فتح) و TSaveDialog (حفظ باسم) و TPrintDialog (طباعة) و TFontDialog (خطوط) و TColorDialog (ألوان).


الصيغة

procedure ShowArabicOpenDlg(DlgHandle: HWND; DlgTitle: string = '');
procedure ShowArabicSaveDlg(DlgHandle: HWND; DlgTitle: string = '');
procedure ShowArabicPrintDlg(DlgHandle: HWND; DlgTitle: string = '');
procedure ShowArabicFontDlg(DlgHandle: HWND; DlgTitle: string = '');
procedure ShowArabicColorDlg(DlgHandle: HWND; DlgTitle: string = '');


الوسائط (Parameters)

DlgHandle مقبض (Handle) نافذة الحوار. استعمل الخاصية Handle لمكون نافذة الحوار، مثلاً: OpenDialog1.Handle.
DlgTitle بارامتر اختياري يحدد عنوان نافذة الحوار.

الشرح
من الملاحظ أن نوافذ الحوار المشتركة (Common Dialogs) في دلفي غير معربة و لا تمتلك خصائص لتعريبها، بمعنى أن نصوص مكونات تلك النوافذ تظهر دائماً باللغة الإنجليزية، مثل Open و Cancel و Save in، ... إلخ.
يمكنك الآن استعمال هذه الإجراءات لتعريب واجهات تلك النوافذ و ذلك باستدعاء الإجراء المناسب في معالج الحدث OnShow لمكون نافذة الحوار كالتالي:

مكون نافذة الحوارالإجراء المستدعى في معالج الحدث OnShow
TOpenDialogShowArabicOpenDlg
TSaveDialogShowArabicSaveDlg
TPrintDialogShowArabicPrintDlg
TFontDialogShowArabicFontDlg
TColorDialogShowArabicColorDlg

فمثلاً إذا كان لدينا مكون نافذة حوار "فتح ملف" باسم OpenDialog1 في النموذج Form1 فإن الشفرة ستكون كالتالي:

procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
   ShowArabicOpenDlg(OpenDialog1.Handle, 'فتح ملف');
end;

لاحظ أن البارامتر الثاني (DlgTitle) لكل إجراء هو بارامتر اختياري، أي يمكن إهماله عند الاستدعاء. في حالة إهماله أو كانت قيمته نصاً فارغاً (Empty String) فإن كل إجراء من الإجراءات الخمسة تلك يعطي لنافذة الحوار عنواناً افتراضياً كالتالي:

الإجراءالعنوان الافتراضي لنافذة الحوار
ShowArabicOpenDlgفتح
ShowArabicSaveDlgحفظ باسم
ShowArabicPrintDlgطباعة
ShowArabicFontDlgخطوط
ShowArabicColorDlgألوان

ملاحظة:
لم نقم بتصميم إجراء واحد لكل نوافذ الحوار المشتركة بسبب مسألة فنية في تصميم نوافذ الحوار المشتركة في النظام Windows، حيث أن معرفات المكونات (Control IDs) تختلف من نافذة حوار إلى أخرى إلا في مكونات قليلة.


 أعلى الصفحة
 الموضوع السابق   الموضوع التالي