السلام عليكم ...
كيف يمكن عمل الفورم بهذا الشكل بحيث تكون الأيقونة على اليمين والـ( الاغلاق والتكبير والتصغير) على الشمال ,,
:(
السلام عليكم ...
كيف يمكن عمل الفورم بهذا الشكل بحيث تكون الأيقونة على اليمين والـ( الاغلاق والتكبير والتصغير) على الشمال ,,
:(
تم تعديل هذه المشاركة بواسطة نواف! في 21 فبراير 2006 في 18:49
الدوت نت نعمه كبيره :D
حاول تبحث عن الـ RTL Layout ,,,
الله ينعم عليك ,,
بحث المنتدى يبدو انه مخبط ,, بس بحث في قووقل, ياهوو, MSN ووجد هذا الرابط
http://www.microsoft.com/middleeast/msdn/arabicsupp.aspx#18
ولكن لم أفهم منه شئ وأعتقد انه لا ينفعني !!
شكراً على التلميح
أنا آسف وكان نفسي أفيدك أكتر ولكن ليس خبره في فيجوال 6 ولكن قصدي أن تبحث مثلا عن دوال API - مثلا في برنامج API Guide - تقوم بتغيير الـ Layout للفورم من اليمين لليسار Right To Left ,,,
يمكنك تغيير خاصية الفورم RightToLeft من False الى True
يا أخى هذا الفورم نظهر بهذا الشكل فقط على نسخة ويندوز معربة Arabic Localized Windows وليست Arabic Enabled Windows
حياك الله أخي ماهر,,
فهمت عليك.. ولكن هل هناك طريقة لعملها على Arabic Localized Windows ؟؟
أخى نواف فقط استخدام خاصية RightToLeft سيقوم بالمهمة طالما تستخدم البرنامج على نسخة الويندوز Arabic Localized
السلام عليكم
استعمل الكود الآتي :
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Const GW_CHILD = 5
Public Const WS_EX_LAYOUTRTL = &H400000
Public Const GWL_EXSTYLE = (-20)
Dim OldLong As Long
OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect hwnd, 0, False
الأخ مدرس شكرا على الكود الذى كتبته ولكن يا أخى هذا الكود سيسبب الكثير من المشاكل عند تغيير حجم النافذة حيث أن نظام التشغيل لن يقوم بعمل Refresh or Paint للنافذة.!!
لقد قمت باستخدام كود مشابه من قبل لكى أستغنى عن إرفاق الملفات VBAME.dll and VBA332ME.dll وبذلك أقلص حجم ملف التثبيت ولكن واجهت المشكلة التى أخبرتك بها منذ قليل وإن كان عندك حل لها سأكون شاكر لك جدا جدا
تم تعديل هذه المشاركة بواسطة Sphinx-EG في 25 فبراير 2006 في 11:10
بالمناسبة ولمن لا يعرف عمل الملف VBAME.dll or VBA332ME.dll فهما يستخدمان لتفعيل خاصية RightToLeft بالنسبة للقوائم
حاول عمل برنامج به قوائم عربية ثم قم بتثبيت البرنامج على كمبيوتر ليس به أى من الملفين وستلاحظ أن RightToLeft لم تؤثر على اتجاه القوائم
i`i هذه المشكلة تم حلها في vb.net 2005 ولكن كل ما عليك الآن إلا ان تستخدم تقنية المرآة ابحث في المنتدى عن تقنية المرآة وخصوصاً أمثلة الاخ / تركي العسيري في منتدى المطورون العرب .
ارجوا أن يقوم الكود التالي بالغرض
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Const WS_EX_LAYOUTRTL = &H400000
Const GWL_EXSTYLE = (-20)
Private Sub form_load()
Dim oldlong As Long
oldlong = GetWindowLong(Form1.hwnd, GWL_EXSTYLE)
SetWindowLong Form1.hwnd, GWL_EXSTYLE, oldlong Or WS_EX_LAYOUTRTL
Form1.Refresh
End Sub
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…