nguyendangkhoi
Thành viên chính thức 


			
		- Tham gia
- 18/2/09
- Bài viết
- 59
- Được thích
- 5
Em có lang thang trên mạng thì có gặp một bài cọđaon code nói về LV unicode mà em không hiểu và thấy nó cũng không chạy được, hôm nay em đưa lên thử để mọi người tham khảo xem có cách nào chạy được nó không ?
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
	
	
	
		
				
			
		PHP:
		
	
	Private Const WM_SETTEXT = &HC
Private Const GWL_WNDPROC = (-4)
Public Const LVM_SETITEMTEXT = (&H1000 + 116)
		PHP:
		
	
	Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcW" _
(ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, _
ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function DefWindowProc Lib "user32" Alias "DefWindowProcW" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongW" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public PrevProc As Long
		PHP:
		
	
	Public Function WindowProc(ByVal hwnd As Long, _
ByVal uMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
On Error Resume Next
Dim sTemp As String
If uMsg = LVM_SETITEMTEXT Then
        sTemp = StrConv("Subclassing" & Chr(0), vbFromUnicode)
        lParam = StrPtr(sTemp)
        WindowProc = DefWindowProc(hwnd, uMsg, 0, lParam)
Else
        WindowProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)
End If
End Function
		PHP:
		
	
	Public Sub initForm()
On Error Resume Next
Dim i As Integer
 
PrevProc = SetWindowLong(Form.lsv.hwnd, WM_SETTEXT, AddressOf WindowProc)
Form.lsv.View = lvwReport
With Form.lsv.ColumnHeaders
    .Clear 
    .Add 1, , ChrW(&H95C9)
End With
Form.lsv.ListItems.Clear
For i = 1 To 5
    unicodechar = ChrW(&H9000)
    With Form.lsv
           .ListItems.Add i, , unicodechar
           .ListItems(i).SubItems(2) = unicodechar
    End With
Next
End Sub
		PHP:
		
	
	Public Sub SubclassForm(L As ListView)
    PrevProc = SetWindowLong(L.hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub
		PHP:
		
	
	Public Sub UnSubclassForm(L As ListView)
    SetWindowLong L.hwnd, GWL_WNDPROC, PrevProc
End Sub
		PHP:
		
	
	Private Sub UserForm_Terminate()
    UnSubclassForm lsv
End Sub
			
				Chỉnh sửa lần cuối bởi điều hành viên: 
			
		
	
								
								
									
	
								
							
							 
	 
	  
 
 
		

 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		