منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
ListVeiw وخاصية الاتجاه لليمين - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم Visual Basic 6 وما قبله (http://vb4arb.com/vb/forumdisplay.php?fid=167)
+--- الموضوع : ListVeiw وخاصية الاتجاه لليمين (/showthread.php?tid=10076)



ListVeiw وخاصية الاتجاه لليمين - ناصر56 - 15-08-13

اخوتي الاعزاء
السلام عليكم ورحمة الله
هل من سبيل للتغيير اتجاه اللست فيو من الشمال الى اليمين
ارجو الاهتمام
ولكم جزيل الشكر وفائق التقدير والاحترام


ListVeiw وخاصية الاتجاه لليمين - أبو يعقوب - 15-08-13

غير الخاصيتين إلى :

RightToLeftLayout = True
RightToLeft = Yes


ListVeiw وخاصية الاتجاه لليمين - ناجي إبراهيم - 15-08-13

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

إجابة الأخ أبو يعقوب متعلقة بـ VB.NET بينما هنا منتدى VB6.

أعتقد أن الموضوع مطروح من قبل، و لكن على أية حال يكون الحل بنسخ الكود التالي و لصقه في Module:

كود :
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYOUTRTL = &H400000

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
Private Declare Function UpdateWindow Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChild As Long, ByVal lpszClass As String, ByVal lpszTitle As String) As Long

Public Sub ChangeControlLayout(ByVal ControlHandle As Long, ByVal ArabicLayout As Boolean)
    Dim OldLong As Long

    OldLong = GetWindowLong(ControlHandle, GWL_EXSTYLE)
    If ArabicLayout Then
        SetWindowLong ControlHandle, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
    Else
        SetWindowLong ControlHandle, GWL_EXSTYLE, OldLong And (Not WS_EX_LAYOUTRTL)
    End If
    UpdateWindow ControlHandle
End Sub

و في الحدث Form_Load للنافذة المحتوية على الـ ListView اكتب السطرين التاليين:
كود :
ChangeControlLayout ListView1.hWnd, True
ChangeControlLayout FindWindowEx(ListView1.hWnd, 0&, "msvb_lib_header", ""), True

حيث يقوم السطر الأول بتغيير اتجاه الـ ListView ما عدا عناوين الأعمدة (Column Headers)، و يقوةم السطر الثاني بتغيير اتجاه عناوين الأعمندة.

* يمكنك طبعاً استعمال الدالة ChangeControlLayout لتغيير اتجاه المكونات الأخرى، مثل الـ TreeView. مثلاً:
كود :
ChangeControlLayout TreeView1.hWnd, True

نرجو الاستفادة و السلام.


ListVeiw وخاصية الاتجاه لليمين - أبو يعقوب - 15-08-13

عذرا لم أنتبه، دخلت إلى الموضوع من "المشاركات الجديدة"


ListVeiw وخاصية الاتجاه لليمين - ناصر56 - 18-08-13

بارك الله فيك اخي ناجي وجزاك الله الفردوس الاعلى
رفقة سيدنا محمد صلى الله عليه وسلم


ListVeiw وخاصية الاتجاه لليمين - اسلام الكبابى - 24-08-13

إقتباس :بارك الله فيك اخي ناجي وجزاك الله الفردوس الاعلى
رفقة سيدنا محمد صلى الله عليه وسلم

الكبيركبير
والأستاذ أستاذ
وحلال العقد حلال العقد