15-10-2010, 03:23 PM
السلام عليكم
نريد ان نناقش الموضوع بشكل جدي ومن زاوية اخرى
لان دعم الاتجاه من اليمين الى اليسار صار يسبب لي الصداع والارق مع الدلفي .
كلكم تعرفون طبعاً هذا الكود لقلب الاشياء من اليمين الى اليسار كما بالشكل التالي :
هذا الكود يعمل احيانا واحيانا اخرى ومع مكونات لا يعمل .
واحيانا يعمل على الاصدارة 2010 ولا يعمل على الاصدارة 2007
الخلاصة
ما الذي يجعل الادوات تتجه من اليسار الى اليمين هل هو كود برمجي ام شئ اخر
وماذا تعني هذه التوابث بالضبط كما بالشكل التالي :
باختصار شديد ما بداية الطريق لكيفية التحكم بالادوات
احيانا اقوم باستخدام هذا الكود على اداة TabPage او ListBox فتحدث تقنية المراءة ولكنها تظهر الكتابة مقلوبة ايضا
انظروا للشكل التالي
نريد ان نناقش الموضوع بشكل جدي ومن زاوية اخرى
لان دعم الاتجاه من اليمين الى اليسار صار يسبب لي الصداع والارق مع الدلفي .
كلكم تعرفون طبعاً هذا الكود لقلب الاشياء من اليمين الى اليسار كما بالشكل التالي :
كود :
const
WS_EX_NOINHERITLAYOUT = $00100000; // Disable inheritence of mirroring by children
WS_EX_LAYOUTRTL = $00400000; // Right to left mirroring
Procedure SetWinControlBiDi(Control: TWinControl);
var
ExStyle: Longint;
begin
ExStyle := GetWindowLong(Control.Handle, GWL_EXSTYLE);
SetWindowLong(Control.Handle, GWL_EXSTYLE, ExStyle or WS_EX_RTLREADING or WS_EX_RIGHT
or WS_EX_LAYOUTRTL or WS_EX_NOINHERITLAYOUT );
end;
Procedure TForm1.FormCreate(Sender: TObject);
begin
SysLocale.MiddleEast := True;
SetWinControlBiDi(PageControl1);
end;
واحيانا يعمل على الاصدارة 2010 ولا يعمل على الاصدارة 2007
الخلاصة
ما الذي يجعل الادوات تتجه من اليسار الى اليمين هل هو كود برمجي ام شئ اخر
وماذا تعني هذه التوابث بالضبط كما بالشكل التالي :
كود :
WS_EX_NOINHERITLAYOUT = $00100000; // Disable inheritence of mirroring by children
WS_EX_LAYOUTRTL = $00400000; // Right to left mirroring
احيانا اقوم باستخدام هذا الكود على اداة TabPage او ListBox فتحدث تقنية المراءة ولكنها تظهر الكتابة مقلوبة ايضا
انظروا للشكل التالي
إقتباس :http://www4.0zz0.com/2010/10/15/14/470616830.jpgفهل هناك طريقة لحل هذه المشكلة ...؟
بين الانسان والكفر ترك الصلاة فمن تركها فقد كفر .