0
SysListView32
からデータを取得しようとしていますが、LVM_GETITEMTEXT
を使用していますが、空の文字列が表示されます。それは私に文字数を与えますが、実際のテキストは表示しません。誰でも助けてくれますか?SysListView32からデータを取得する
Private Const LVM_FIRST As Long = &H1000
Private Const LVM_GETITEMTEXT As Long = (LVM_FIRST + 45)
Private Type LV_ITEM
mask As Long
iItem As Long
iSubItem As Long
state As Long
stateMask As Long
pszText As String
cchTextMax As Long
iImage As Long
lParam As Long
iIndent As Long
End Type
Dim lvi As LV_ITEM
Dim r as long
lvi.cchTextMax = MAX_PATH
lvi.pszText = Space$(MAX_PATH)
r = SendMessage(Handle, LVM_GETITEMTEXT, 0, lvi)
data = Left(lvi.pszText, r)
If Trim(data) <> "" Then MsgBox (data)
そのためのおかげで、それでも無喜び、まだ空の文字列を取得します。 – Amir
@Amir 'SendMessage'はどのように宣言され、' r'には何があり、listviewには[LVS_OWNERDATA]がありません(https://msdn.microsoft.com/en-us/library/windows/desktop/bb774739 (v = vs.85).aspx#LVS_OWNERDATA)スタイル? – GSerg
プライベート宣言関数SendMessage Lib "user32"エイリアス "SendMessageA"(ByVal hWnd As Long、ByVal wParam As Long、lParam As Any)Longとして – Amir