Option Explicit 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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Const WS_EX_LAYOUTRTL = &H400000 Private Const GWL_EXSTYLE = (-20)
Private Sub SetRtL(Ctl As Control) Ctl.Visible = False SetWindowLong Ctl.hwnd, GWL_EXSTYLE, _ GetWindowLong(Ctl.hwnd, GWL_EXSTYLE) _ Or WS_EX_LAYOUTRTL Ctl.Visible = True End Sub
13-11-18, 08:58 AM (آخر تعديل لهذه المشاركة : 13-11-18, 02:10 PM {2} بواسطة hannileo.)
(12-11-18, 11:13 PM)AL_BRNS كتب : وعليكم السلام ورحمة الله وبركاته
جرب التالي
PHP كود :
Option Explicit 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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Const WS_EX_LAYOUTRTL = &H400000 Private Const GWL_EXSTYLE = (-20)
Private Sub SetRtL(Ctl As Control) Ctl.Visible = False SetWindowLong Ctl.hwnd, GWL_EXSTYLE, _ GetWindowLong(Ctl.hwnd, GWL_EXSTYLE) _ Or WS_EX_LAYOUTRTL Ctl.Visible = True End Sub
Private Sub Form_Load() SetRtL ListView1 End Sub
بالتوفيق .
شكرا لك وبارك الله بك استاذ AL_BRNS
لقد وضعت هذا الكود في الفورم ولكن ظهرت رسالة خطأ عند التنفيذ وعندما ازلت الكود لم تعد تظهر هذه الرسالة كما مبين بالصورة
وبكل الاحوال جربتها على مثال خارجي اضفت listview للفورم ونسخت الكود ولم يتغير شيئ كما في الصورة الثانية
Option Explicit
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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = (-20)
Private Sub SetRtL(Ctl As Control)
Ctl.Visible = False
SetWindowLong Ctl.hWnd, GWL_EXSTYLE, _
GetWindowLong(Ctl.hWnd, GWL_EXSTYLE) _
Or WS_EX_LAYOUTRTL
Ctl.Visible = True
End Sub
Private Sub Form_Load()
Me.ListView1.View = lvwReport
With Me.ListView1.ListItems
.Add , , "تجريبي 1"
.Add , , "تجريبي 2"
End With
Me.ListView1.ListItems(1).SubItems(1) = "نص نص نص نص نص نص"
Me.ListView1.ListItems(2).SubItems(1) = "نص نص نص نص نص نص"
SetRtL ListView1
End Sub
Option Explicit
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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = (-20)
Private Sub SetRtL(Ctl As Control)
Ctl.Visible = False
SetWindowLong Ctl.hWnd, GWL_EXSTYLE, _
GetWindowLong(Ctl.hWnd, GWL_EXSTYLE) _
Or WS_EX_LAYOUTRTL
Ctl.Visible = True
End Sub
Private Sub Form_Load()
Me.ListView1.View = lvwReport
18-11-18, 10:20 AM (آخر تعديل لهذه المشاركة : 18-11-18, 01:20 PM {2} بواسطة hannileo.)
وعليكم السلام ورحمة الله وبركاته ,,,
فعلاً هذه المرة هذا الكود يعمل بشكل جيد عندما نسخت الكود في فورم مع ادام listview ولكن ليش مع برنامجي ولا ادري ماهو السبب حيث انها تظهر عندي رسالة خطأ
عندما اقوم بالتشغيل هل يوجد مشكلة بالكود التالي ؟
حتى لو تلاحظ كما بالصورة ان القوائم عندي لم تقلب الى اليمين
كود :
Private Sub Text2_Change()
On Error Resume Next
If rs.State = 1 Then rs.Close
sql = "Select *From tblTransactions WHERE [TransacCode] Like '%" & Trim(Text2.Text) & _
"%' or [TransacCont] LIKE '%" & Trim(Text2.Text) & _
"%'"
rs.Open sql, cn
If rs.RecordCount <= 0 Then
MsgBox "No Invoice found!", vbCritical + vbOKOnly, ""