ورود

View Full Version : سوال در مورد treeview



amir200h
یک شنبه 20 تیر 1389, 09:09 صبح
سلام به همه ی دوستان.
من یک لیست باکس درختی تو فرمم دارم که دارای
یک شاخه و چند زیر شاخه است.
چطوری میشه کاری کرد که وقتی روی زیر شاخه ها کاربر کلیک کنه
دستور مورد نظر ما اجرا بشه.
و چطوری میشه کاری کرد که treeview راست به چپ بشه واسه موضوعات فارسی
با تشکر.
یا حق

M.T.P
یک شنبه 20 تیر 1389, 11:15 صبح
با سلام
برای تشخیص کلیک بر روی یک شاخه یا Node در رویداد NodeClick این کنترل:


if node = "Salam" Then MsgBox "Hello"

و برای راست به چپ کردن از تابع زیر:


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 InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long



Private Const WS_EX_LAYOUTRTL = &H400000
Private Const GWL_EXSTYLE = (-20)

Private Sub RTL(Ctl As Control)
Dim OldLong As Long
OldLong = GetWindowLong(Ctl.hwnd, GWL_EXSTYLE)
SetWindowLong Ctl.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL
InvalidateRect Ctl.hwnd, 0, False
End Sub

احتمالا بعد از اعمال یک Refresh نیاز باشه. :قلب:

amir200h
یک شنبه 20 تیر 1389, 14:21 عصر
سلام دوست من.
ممنونم ولی هیچ کدوم جواب نداد
مرسی

M.T.P
یک شنبه 20 تیر 1389, 15:32 عصر
همون کد بالا در قالب پروژه :
:چشمک:
1. راست به چپ
2. با کلیک بر روی نود دلخواه برنامه پیغام میده.

amir200h
یک شنبه 20 تیر 1389, 16:05 عصر
سلام دوست من.
من منظورم روی زیر شاخه ها بود.
اینی که شما گذاشتی واسه خود شاخه بود.
اگه زحمتی نیست یکی با زیر شاخه بزار.
ممنونم.
یا حق