powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ListView
6 сообщений из 6, страница 1 из 1
ListView
    #33564836
Soy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Soy
Гость
Help!!!
Нужно в в заголовках столбцов ListView созданного с помощью API вставлять Битмап с помощью функции API StretchBlt. Как это сделать?
Спасибо!
...
Рейтинг: 0 / 0
ListView
    #33565090
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Soy
Нужно в в заголовках столбцов ListView созданного с помощью API...

Простите, а как вы создали ListView с помощью API?
...
Рейтинг: 0 / 0
ListView
    #33565100
Мне тоже интересно как.
...
Рейтинг: 0 / 0
ListView
    #33565267
Soy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Soy
Гость
'модуль формы
'на форму поставить 4 кнопки с именем:cmdSort1 ,cmdSort2,cmdClear,cmdFill
'2 checkbox'а :Check1,Check2
Option Explicit



Dim LVMImageList As New cImgList
Dim LView As New cListView
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long

Private Sub cmdSort1_Click()
LView.Sort 3, stDate, soAscending
End Sub

Private Sub cmdSort2_Click()
LView.Sort 3, stDate, soDescending
End Sub


Public Function FormatKB(ByVal Amount As Long) As String
FormatKB = VBA.Format$(Amount / 1024, "### ### ### ### ### ### ### ÊÁ")
FormatKB = VBA.Trim$(FormatKB)
If FormatKB = "ÊÁ" Then FormatKB = IIf(Amount = 0, "0 ÊÁ", "1 ÊÁ")
End Function

Private Sub Check1_Click()
LView.FlatScrollBar = Check1 = 1
End Sub

Private Sub Check2_Click()
LView.GridLines = Check2 = 1
End Sub

Private Sub cmdClear_Click()
Call LView.Clear
End Sub

Private Sub Form_Load()
Call LView.Init(fLV.hWnd) With LView
.View = LVS_REPORT
.FullRowSelect = True
.Move 0, 0, ScaleWidth, 170
Set .ImageList(LVSIL_SMALL) = LVMImageList
If .ColumnCount = 0 Then
.ColumnAdd "Ôàéë", 350
.ColumnAdd "#", 10
.ColumnAdd "Ðàçìåð", 50, LVCFMT_RIGHT
.ColumnAdd "Èçìåíåí", 100
End If

End With
End Sub

Private Sub cmdFill_Click()

Dim a As Long
Dim i As Long
Dim Tmp As String
Dim Path As String
Dim lRet As Long

Path = "c:\"

Tmp = Dir$(Path, vbHidden Or vbSystem Or vbReadOnly Or vbDirectory)
Do While Len(Tmp)
i = i + 1
a = GetFileAttributes(Path & Tmp)
lRet = LView.ItemAdd(1, Tmp, 0, LVMImageList.AddIconFromFile(Path & Tmp))
LView.SubItemText(lRet, 1) = i
LView.SubItemText(lRet, 2) = FormatKB(FileLen(Path & Tmp))
LView.SubItemText(lRet, 3) = VBA.Format$(FileDateTime(Path & Tmp), "dd/mm/yyyy hh:mm")
Tmp = Dir$
Loop
Caption = "количество элементов: " & LView.ListCount

For a = 0 To LView.ColumnCount - 1
Call LView.AutoSizeColumn(a)
Next

End Sub

'модуль Naame=mListView
Option Explicit
Option Compare Text


Private Const LVIF_TEXT As Long = &H1
Private Const LVIF_IMAGE As Long = &H2
Private Const LVIF_PARAM As Long = &H4
Private Const LVIF_STATE As Long = &H8
Private Const LVIF_INDENT As Long = &H10
Private Const LVIF_GROUPID As Long = &H100
Private Const LVIF_COLUMNS As Long = &H200
Private Const LVM_FIRST As Long = &H1000
Private Const LVM_GETITEMTEXT As Long = (LVM_FIRST + 45)

Private Type POINTAPI
x As Long
y As Long
End Type

Private Type LVFINDINFO
flags As Long
psz As String
lParam As Long
pt As POINTAPI
vkDirection As Long
End Type

Private Type LVITEM_lp
Mask As Long
iItem As Long
iSubItem As Long
STATE As Long
statemask As Long
pszText As Long
cchTextMax As Long
iImage As Long
lParam As Long
iIndent As Long
End Type

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public m_PRECEDE As Long
Public m_FOLLOW As Long
Public m_lColumn As Long
Public lSortAs As Long
Private m_uLVFI As LVFINDINFO
Private m_uLVI As LVITEM_lp

Private Function pvGetItemText(ByVal hWnd As Long, ByVal lParam As Long) As String
Dim lIdx As Long
Dim a(261) As Byte
Dim lLen As Long
With m_uLVI
.Mask = LVIF_TEXT
.pszText = VarPtr(a(0))
.cchTextMax = UBound(a)
.iSubItem = m_lColumn
End With
lLen = SendMessage(hWnd, LVM_GETITEMTEXT, lParam, m_uLVI)
pvGetItemText = Left$(StrConv(a(), vbUnicode), lLen)
End Function

Function hSortFunc(ByVal lParam1 As Long, _
ByVal lParam2 As Long, _
ByVal hWnd As Long) As Long

Select Case lSortAs
Case stText: hSortFunc = IIf(pvGetItemText(hWnd, lParam1) > pvGetItemText(hWnd, lParam2), m_PRECEDE, m_FOLLOW)
Case stIndex: hSortFunc = IIf(lParam1 > lParam2, m_PRECEDE, m_FOLLOW)
Case stDate: hSortFunc = IIf(CDate(pvGetItemText(hWnd, lParam1)) > CDate(pvGetItemText(hWnd, lParam2)), m_PRECEDE, m_FOLLOW)
Case stNumber: hSortFunc = IIf(Val(pvGetItemText(hWnd, lParam1)) > Val(pvGetItemText(hWnd, lParam2)), m_PRECEDE, m_FOLLOW)
End Select

End Function

'класс модуль name=cImgList

Option Explicit



Private Const MAX_PATH = 260

Private Const ILC_MASK = &H1
Private Const ILC_COLOR = &H0
Private Const ILC_COLORDDB = &HFE
Private Const ILC_COLOR4 = &H4
Private Const ILC_COLOR8 = &H8
Private Const ILC_COLOR16 = &H10
Private Const ILC_COLOR24 = &H18
Private Const ILC_COLOR32 = &H20

Private Declare Function SHGetFileInfo Lib "shell32.dll" Alias "SHGetFileInfoA" (ByVal pszPath As String, ByVal dwFileAttributes As Long, psfi As SHFILEINFO, ByVal cbFileInfo As Long, ByVal uFlags As Long) As Long
Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long
Private Declare Sub InitCommonControls Lib "Comctl32" ()

Private Const SHGFI_ICON = &H100 ' get icon
Private Const SHGFI_SMALLICON = &H1 ' get small icon
Private Const SHGFI_SYSICONINDEX = &H4000 ' get system icon index

Private Type SHFILEINFO
hIcon As Long ' out: icon
iIcon As Long ' out: icon index
dwAttributes As Long ' out: SFGAO_ flags
szDisplayName As String * MAX_PATH ' out: display name (or path)
szTypeName As String * 80 ' out: type name
End Type

Private Declare Function ImageList_Create Lib "COMCTL32.DLL" (ByVal cx As Long, ByVal cy As Long, ByVal flags As Long, ByVal cInitial As Long, ByVal cGrow As Long) As Long
Private Declare Function ImageList_Destroy Lib "COMCTL32.DLL" (ByVal himl As Long) As Long
Private Declare Function ImageList_ReplaceIcon Lib "COMCTL32.DLL" (ByVal himl As Long, ByVal i As Long, ByVal hIcon As Long) As Long
Private Declare Function ImageList_AddIcon Lib "COMCTL32.DLL" (ByVal hImageList As Long, ByVal hIcon As Long) As Long
Private Declare Function ImageList_GetImageCount Lib "COMCTL32.DLL" (ByVal himl As Long) As Long
Private Declare Function ImageList_SetImageCount Lib "COMCTL32.DLL" (ByVal himl As Long, ByVal uNewCount As Long) As Long

Private hwIL As Long
Dim NullIcn As Long

Property Get NullIcon(ByVal h As Long)
NullIcn = h
End Property

Property Get hWnd() As Long
hWnd = hwIL
End Property

Private Sub CreateMe()
hwIL = ImageList_Create(16, 16, ILC_COLOR8 Or ILC_MASK, 1, 1)
End Sub

Sub Clear()
ImageList_SetImageCount hwIL, 0
'Call Class_Terminate
'hwIL = 0
End Sub

Private Sub Class_Initialize()
InitCommonControls
Call CreateMe
End Sub

Private Sub Class_Terminate()
Call ImageList_Destroy(hwIL)
End Sub

Sub AddIcon(ByVal hIcon As Long)
'If hwIL = 0 Then CreateMe
Call ImageList_ReplaceIcon(hwIL, -1, hIcon)
End Sub

Function AddIconFromFile(ByVal Path As String) As Long

'If hwIL = 0 Then CreateMe

Dim hIcon As Long
Dim shInfo As SHFILEINFO
SHGetFileInfo Path, 0, shInfo, Len(shInfo), SHGFI_ICON Or SHGFI_SMALLICON
If shInfo.hIcon = 0 Then shInfo.hIcon = NullIcn
hIcon = shInfo.hIcon

AddIcon hIcon
DestroyIcon hIcon
AddIconFromFile = ImageList_GetImageCount(hwIL) - 1

End Function

'класс модуль name=cListView
Option Explicit


Private Const LVM_FIRST As Long = &H1000
Private Const LVM_GETBKCOLOR As Long = (LVM_FIRST + 0)
Private Const LVM_SETBKCOLOR As Long = (LVM_FIRST + 1)
Private Const LVM_GETIMAGELIST As Long = (LVM_FIRST + 2)
Private Const LVM_SETIMAGELIST As Long = (LVM_FIRST + 3)
Private Const LVM_GETITEMCOUNT As Long = (LVM_FIRST + 4)
Private Const LVM_GETITEM As Long = (LVM_FIRST + 5)
Private Const LVM_SETITEM As Long = (LVM_FIRST + 6)
Private Const LVM_INSERTITEM As Long = (LVM_FIRST + 7)
Private Const LVM_DELETEITEM As Long = (LVM_FIRST + 8)
Private Const LVM_DELETEALLITEMS As Long = (LVM_FIRST + 9)
Private Const LVM_GETNEXTITEM As Long = (LVM_FIRST + 12)
Private Const LVM_FINDITEM As Long = (LVM_FIRST + 13)
Private Const LVM_HITTEST As Long = (LVM_FIRST + 18)
Private Const LVM_ENSUREVISIBLE As Long = (LVM_FIRST + 19)
Private Const LVM_SCROLL As Long = (LVM_FIRST + 20)
Private Const LVM_REDRAWITEMS As Long = (LVM_FIRST + 21)
Private Const LVM_ARRANGE As Long = (LVM_FIRST + 22)
Private Const LVM_EDITLABEL As Long = (LVM_FIRST + 23)
Private Const LVM_GETEDITCONTROL As Long = (LVM_FIRST + 24)
Private Const LVM_GETCOLUMN As Long = (LVM_FIRST + 25)
Private Const LVM_SETCOLUMN As Long = (LVM_FIRST + 26)
Private Const LVM_INSERTCOLUMN As Long = (LVM_FIRST + 27)
Private Const LVM_DELETECOLUMN As Long = (LVM_FIRST + 28)
Private Const LVM_GETCOLUMNWIDTH As Long = (LVM_FIRST + 29)
Private Const LVM_SETCOLUMNWIDTH As Long = (LVM_FIRST + 30)
Private Const LVM_GETHEADER As Long = (LVM_FIRST + 31)
Private Const LVM_GETTEXTCOLOR As Long = (LVM_FIRST + 35)
Private Const LVM_SETTEXTCOLOR As Long = (LVM_FIRST + 36)
Private Const LVM_GETTEXTBKCOLOR As Long = (LVM_FIRST + 37)
Private Const LVM_SETTEXTBKCOLOR As Long = (LVM_FIRST + 38)
Private Const LVM_UPDATE As Long = (LVM_FIRST + 42)
Private Const LVM_SETITEMSTATE As Long = (LVM_FIRST + 43)
Private Const LVM_GETITEMSTATE As Long = (LVM_FIRST + 44)
Private Const LVM_GETITEMTEXT As Long = (LVM_FIRST + 45)
Private Const LVM_SETITEMTEXT As Long = (LVM_FIRST + 46)
Private Const LVM_SORTITEMS As Long = (LVM_FIRST + 48)
Private Const LVM_GETSELECTEDCOUNT As Long = (LVM_FIRST + 50)
Private Const LVM_SETEXTENDEDLISTVIEWSTYLE As Long = (LVM_FIRST + 54)
Private Const LVM_GETEXTENDEDLISTVIEWSTYLE As Long = (LVM_FIRST + 55)
Private Const LVM_SETHOTITEM As Long = (LVM_FIRST + 60)
Private Const LVM_GETHOTITEM As Long = (LVM_FIRST + 61)
Private Const LVM_SETHOTCURSOR As Long = (LVM_FIRST + 62)
Private Const LVM_GETHOTCURSOR As Long = (LVM_FIRST + 63)
Private Const LVM_SETBKIMAGE As Long = (LVM_FIRST + 68)
Private Const LVM_GETBKIMAGE As Long = (LVM_FIRST + 69)
Private Const LVM_SORTITEMSEX As Long = (LVM_FIRST + 81)
Private Const LVM_SETVIEW As Long = (LVM_FIRST + 142)
Private Const LVM_GETVIEW As Long = (LVM_FIRST + 143)

Private Const LVIF_TEXT As Long = &H1
Private Const LVIF_IMAGE As Long = &H2
Private Const LVIF_PARAM As Long = &H4
Private Const LVIF_STATE As Long = &H8
Private Const LVIF_INDENT As Long = &H10
Private Const LVIF_GROUPID As Long = &H100
Private Const LVIF_COLUMNS As Long = &H200

Public Enum eSortAsConst
stText = 0
stIndex = 1
stDate = 2
stNumber = 3
End Enum

Public Enum eSortOrderConstants
'[soDefault] = 0
[soAscending] = 1
[soDescending] = -1
End Enum

Public Enum AlignConsts
LVCFMT_LEFT = &H0
LVCFMT_RIGHT = &H1
LVCFMT_CENTER = &H2
End Enum

Private Type LVITEM_lp
Mask As Long
iItem As Long
iSubItem As Long
STATE As Long
statemask As Long
pszText As Long
cchTextMax As Long
iImage As Long
lParam As Long
iIndent As Long
End Type

Private Enum LVENUMS
LVCF_FMT = &H1
LVCF_WIDTH = &H2
LVCF_TEXT = &H4
LVCF_SUBITEM = &H8
LVCF_IMAGE = &H10
LVCF_ORDER = &H20
LVCFMT_JUSTIFYMASK = &H3
LVCFMT_IMAGE = &H800
LVCFMT_BITMAP_ON_RIGHT = &H1000
LVCFMT_COL_HAS_IMAGES = &H8000
End Enum

Private Type LV_COLUMN
Mask As Long
fmt As Long
cx As Long
pszText As Long
cchTextMax As Long
iSubItem As Long
iImage As Long
iOrder As Long
End Type

Public Enum eListViewStyle
LVS_ICON = &H0
LVS_REPORT = &H1
LVS_SMALLICON = &H2
LVS_LIST = &H3
End Enum

Private Const GWL_STYLE = (-16)

' LVM_GET/SETIMAGELIST wParam
Public Enum ImageListSize
LVSIL_NORMAL = 0
LVSIL_SMALL = 1
End Enum

Private Const LVM_SETEXTENDEDSTYLE As Long = (LVM_FIRST + 54)
Private Const LVM_GETEXTENDEDSTYLE As Long = (LVM_FIRST + 55)

Private Const WM_USER = &H400
Private Const IDC_LISTVIEW = WM_USER + 2130
Private Const WS_EX_CLIENTEDGE = &H200
Private Const WS_CHILD = &H40000000

Private Const WC_LISTVIEW = "SysListView32"

Private Const LVS_EX_GRIDLINES As Long = &H1&
Private Const LVS_EX_DOUBLEBUFFER As Long = &H10000
Private Const LVS_EX_FLATSB As Long = &H100&
Private Const LVS_EX_SUBITEMIMAGES As Long = &H2&
Private Const LVS_EX_CHECKBOXES As Long = &H4&
Private Const LVS_EX_INFOTIP As Long = &H400&
Private Const LVS_EX_LABELTIP As Long = &H4000&
Private Const LVS_EX_TRACKSELECT As Long = &H8&
Private Const LVS_EX_HEADERDRAGDROP As Long = &H10&
Private Const LVS_EX_FULLROWSELECT As Long = &H20&
Private Const LVS_EX_ONECLICKACTIVATE As Long = &H40&
Private Const LVS_EX_BORDERSELECT As Long = &H8000&
Private Const LVS_EX_UNDERLINEHOT As Long = &H800&

Private Const LVSCW_AUTOSIZE As Long = -1
Private Const LVSCW_AUTOSIZE_USEHEADER As Long = -2 'Ïðèìå÷àíèå:  ïîñëåäíåé êîëîííå, øèðèíà çàïîëíÿåò îñòàëüíóþ øèðèíó

Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function MoveWindow Lib "user32" (ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint 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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Sub InitCommonControls Lib "Comctl32" ()
Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Type MyLVType
hWnd As Long
View As eListViewStyle
ColumnCount As Long
style As Long
End Type

Dim LView As MyLVType

Private Type LVITEM
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

Private Sub Class_Initialize() '1
Call InitCommonControls
End Sub
Function Init(ByVal hWndParent As Long) As Boolean '2
LView.hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, WC_LISTVIEW, vbNullString, WS_CHILD, 0, 0, 200, 100, hWndParent, 0&, App.hInstance, 0&)
If LView.hWnd = 0 Then Exit Function
Init = True
Call ShowWindow(LView.hWnd, 1)
End Function
Public Property Let View(ByVal vNewValue As eListViewStyle) '3
Dim iNot As Long
iNot = (LVS_ICON Or LVS_SMALLICON Or LVS_REPORT Or LVS_LIST)
SetWindowLong LView.hWnd, GWL_STYLE, (GetWindowLong(LView.hWnd, GWL_STYLE) And Not iNot) Or vNewValue
End Property
Property Let FullRowSelect(bol As Boolean) '4
pSetExtendedStyle LVS_EX_FULLROWSELECT, bol
End Property
Private Sub pSetExtendedStyle(ByVal iStyle As Long, ByVal bNew As Boolean) '5
If bNew Then LView.style = LView.style Or iStyle Else LView.style = LView.style And Not iStyle
If bNew Then
SendMessage LView.hWnd, LVM_SETEXTENDEDSTYLE, 0, ByVal SendMessage(LView.hWnd, LVM_GETEXTENDEDSTYLE, 0, 0) Or iStyle
Else
SendMessage LView.hWnd, LVM_SETEXTENDEDSTYLE, 0, ByVal SendMessage(LView.hWnd, LVM_GETEXTENDEDSTYLE, 0, 0) And Not iStyle
End If
End Sub
Sub Move(Left As Single, Optional Top As Single, Optional Width As Single, Optional Height As Single) '6
MoveWindow LView.hWnd, Left, Top, Width, Height, 1
End Sub

Sub Sort(Optional ByVal ColumnIndex As Long = 0, _
Optional ByVal SortAs As eSortAsConst = stText, _
Optional ByVal SortOrder As eSortOrderConstants = [soAscending])
m_lColumn = ColumnIndex
lSortAs = SortAs
m_PRECEDE = SortOrder
m_FOLLOW = -SortOrder
SendMessageLong LView.hWnd, LVM_SORTITEMSEX, LView.hWnd, AddressOf hSortFunc
End Sub

Property Get ListCount() As Long
ListCount = SendMessage(LView.hWnd, LVM_GETITEMCOUNT, 0, ByVal 0&)
End Property

Public Function ItemAdd(ByVal item As Integer, ByVal TEXT As String, ByVal indent As Integer, ByVal Icon As Integer) As Long
Dim uLV As LVITEM
With uLV
.iItem = item
.lParam = item
.pszText = TEXT & vbNullChar
.cchTextMax = Len(TEXT) + 1
.iIndent = indent
.iImage = Icon
.Mask = LVIF_TEXT Or LVIF_INDENT Or LVIF_IMAGE Or LVIF_PARAM
End With
ItemAdd = SendMessage(LView.hWnd, LVM_INSERTITEM, 0, uLV) ' (SendMessage(LView.hWnd, LVM_INSERTITEM, 0, uLV) > -1)
End Function

Public Property Get SubItemText(ByVal item As Integer, ByVal SubItem As Integer) As String

Dim uLVI As LVITEM_lp
Dim a(256) As Byte
Dim lLen As Long

If (LView.hWnd) Then

With uLVI
.iSubItem = SubItem
.pszText = VarPtr(a(0))
.cchTextMax = UBound(a)
.Mask = LVIF_TEXT
End With
lLen = SendMessage(LView.hWnd, LVM_GETITEMTEXT, item, uLVI)

SubItemText = VBA.Left$(StrConv(a(), vbUnicode), lLen)
End If
End Property
Public Property Let SubItemText(ByVal item As Integer, ByVal SubItem As Integer, ByVal TEXT As String)
Dim uLVI As LVITEM
If (LView.hWnd) Then
With uLVI
.iSubItem = SubItem
.pszText = TEXT & vbNullChar
.cchTextMax = Len(TEXT) + 1
End With
Call SendMessage(LView.hWnd, LVM_SETITEMTEXT, item, uLVI)
End If
End Property


Sub AutoSizeColumn(ByVal index As Long)
SendMessage LView.hWnd, LVM_SETCOLUMNWIDTH, index, LVSCW_AUTOSIZE_USEHEADER
End Sub




Property Get FullRowSelect() As Boolean
FullRowSelect = LView.style And LVS_EX_FULLROWSELECT
End Property

Property Let FlatScrollBar(bol As Boolean)
pSetExtendedStyle LVS_EX_FLATSB, bol
End Property
Property Get FlatScrollBar() As Boolean
FlatScrollBar = LView.style And LVS_EX_FLATSB
End Property

Property Let GridLines(bol As Boolean)
pSetExtendedStyle LVS_EX_GRIDLINES, bol
End Property
Property Get GridLines() As Boolean
GridLines = LView.style And LVS_EX_GRIDLINES
End Property

Property Get ColumnCount() As Long
ColumnCount = LView.ColumnCount
End Property

Function ColumnAdd(ByVal Caption As String, ByVal Width As Long, Optional ByVal Align As AlignConsts = LVCFMT_LEFT) As Boolean
Dim LVC As LV_COLUMN
LVC.Mask = LVCF_FMT Or LVCF_TEXT Or LVCF_WIDTH Or LVCF_SUBITEM
LVC.pszText = StrPtr(StrConv(Caption, vbFromUnicode))
LVC.fmt = Align
LVC.cx = Width
LVC.iOrder = 0
Call SendMessage(LView.hWnd, LVM_INSERTCOLUMN, LView.ColumnCount, LVC)
LView.ColumnCount = LView.ColumnCount + 1
'class=SysHeader32
End Function


Property Set ImageList(ImageSize As ImageListSize, ImgList As cImgList)
Call SendMessage(LView.hWnd, LVM_SETIMAGELIST, ImageSize, ByVal ImgList.hWnd)
End Property



Property Let Visible(vis As Boolean)
ShowWindow LView.hWnd, IIf(vis, 1, 0)
End Property

Public Property Get View() As eListViewStyle
View = LView.View
End Property

Sub Clear()
SendMessage LView.hWnd, LVM_DELETEALLITEMS, 0, ByVal 0&
End Sub


данный исходник разработал не я.
Задача сделать так чтоб при событии MouseMove над заголовками столбцов в отдельности , туда загружался обин битмап,MouseOver - другой, MouseDown -другой и т.д
Вообщем сделать графический интерфейс этого листвью.

Есть еще другой исходник который написал я там работа через API в отдельности c SysHeader.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ListView
    #34854738
аффтар отжог))))))
Melkiades и Пользователь2, походу охренели с такого)))
...
Рейтинг: 0 / 0
ListView
    #34855347
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
адвансед_юзераффтар отжог))))))
Melkiades и Пользователь2, походу охренели с такого)))

))) чорт... случайно сюда забрёл... но охренел не меньше... - пешите исчо!))
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ListView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]