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

كيف يمكن عمل الفورم بهذا الشكل

مغلق
بدأه نواف! في 21 فبراير 2006 · 15 رد · 1,491 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ...

كيف يمكن عمل الفورم بهذا الشكل بحيث تكون الأيقونة على اليمين والـ( الاغلاق والتكبير والتصغير) على الشمال ,,

post-71953-1140536459_thumb.gif

:(

تم تعديل هذه المشاركة بواسطة نواف! في 21 فبراير 2006 في 18:49

#3

الله ينعم عليك ,,

بحث المنتدى يبدو انه مخبط ,, بس بحث في قووقل, ياهوو, MSN ووجد هذا الرابط

http://www.microsoft.com/middleeast/msdn/arabicsupp.aspx#18

ولكن لم أفهم منه شئ وأعتقد انه لا ينفعني !!

شكراً على التلميح

#4

أنا آسف وكان نفسي أفيدك أكتر ولكن ليس خبره في فيجوال 6 ولكن قصدي أن تبحث مثلا عن دوال API - مثلا في برنامج API Guide - تقوم بتغيير الـ Layout للفورم من اليمين لليسار Right To Left ,,,

#5

يمكنك تغيير خاصية الفورم RightToLeft من False الى True

#6
hazzoom كتب:
أنا آسف وكان نفسي أفيدك أكتر ولكن ليس خبره في فيجوال 6 ولكن قصدي أن تبحث مثلا عن دوال API - مثلا في برنامج API Guide - تقوم بتغيير الـ Layout للفورم من اليمين لليسار Right To Left ,,,

لا داعي للاعتذار,, فقد حملت برنامج API Guide ولم أستفد منه ,,

شكر لك

#7
منعم كتب:
يمكنك تغيير خاصية الفورم RightToLeft  من False الى  True

نعم هذا يغيير الـ Title فقط!!

ولا يغيير مكان الايقونة أو الادوات(اغلاق-تكبير-تصغير)

شكرا لمشاركتك

#8

يا أخى هذا الفورم نظهر بهذا الشكل فقط على نسخة ويندوز معربة Arabic Localized Windows وليست Arabic Enabled Windows

سبح اسم ربك الأعلى

http://www.ancientsoft.com

http://www.osakit.com

#9

حياك الله أخي ماهر,,

فهمت عليك.. ولكن هل هناك طريقة لعملها على Arabic Localized Windows ؟؟

#10

أخى نواف فقط استخدام خاصية RightToLeft سيقوم بالمهمة طالما تستخدم البرنامج على نسخة الويندوز Arabic Localized

سبح اسم ربك الأعلى

http://www.ancientsoft.com

http://www.osakit.com

#11
Sphinx-EG كتب:
أخى نواف فقط استخدام خاصية RightToLeft سيقوم بالمهمة طالما تستخدم البرنامج على نسخة الويندوز Arabic Localized

شكرا على المعلومة ,,

:rolleyes:

#12

السلام عليكم

استعمل الكود الآتي :

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

#13

الأخ مدرس شكرا على الكود الذى كتبته ولكن يا أخى هذا الكود سيسبب الكثير من المشاكل عند تغيير حجم النافذة حيث أن نظام التشغيل لن يقوم بعمل Refresh or Paint للنافذة.!!

لقد قمت باستخدام كود مشابه من قبل لكى أستغنى عن إرفاق الملفات VBAME.dll and VBA332ME.dll وبذلك أقلص حجم ملف التثبيت ولكن واجهت المشكلة التى أخبرتك بها منذ قليل وإن كان عندك حل لها سأكون شاكر لك جدا جدا

تم تعديل هذه المشاركة بواسطة Sphinx-EG في 25 فبراير 2006 في 11:10

سبح اسم ربك الأعلى

http://www.ancientsoft.com

http://www.osakit.com

#14

بالمناسبة ولمن لا يعرف عمل الملف VBAME.dll or VBA332ME.dll فهما يستخدمان لتفعيل خاصية RightToLeft بالنسبة للقوائم

حاول عمل برنامج به قوائم عربية ثم قم بتثبيت البرنامج على كمبيوتر ليس به أى من الملفين وستلاحظ أن RightToLeft لم تؤثر على اتجاه القوائم

سبح اسم ربك الأعلى

http://www.ancientsoft.com

http://www.osakit.com

#15

i`i هذه المشكلة تم حلها في vb.net 2005 ولكن كل ما عليك الآن إلا ان تستخدم تقنية المرآة ابحث في المنتدى عن تقنية المرآة وخصوصاً أمثلة الاخ / تركي العسيري في منتدى المطورون العرب .

#16

ارجوا أن يقوم الكود التالي بالغرض

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

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…