Changed the listview control to add the report view and fix some bugs
for the list view.
This commit is contained in:
parent
a71e1b4961
commit
4d6df2cb91
|
@ -730,19 +730,26 @@ HEADER_InsertItemA (WND *wndPtr, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
infoPtr->uNumItem++;
|
infoPtr->uNumItem++;
|
||||||
infoPtr->items = COMCTL32_Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem);
|
infoPtr->items = COMCTL32_Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem);
|
||||||
/* pre insert copy */
|
if (nItem == 0) {
|
||||||
if (nItem > 0) {
|
memcpy (&infoPtr->items[1], &oldItems[0],
|
||||||
memcpy (&infoPtr->items[0], &oldItems[0],
|
(infoPtr->uNumItem-1) * sizeof(HEADER_ITEM));
|
||||||
nItem * sizeof(HEADER_ITEM));
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* pre insert copy */
|
||||||
|
if (nItem > 0) {
|
||||||
|
memcpy (&infoPtr->items[0], &oldItems[0],
|
||||||
|
nItem * sizeof(HEADER_ITEM));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* post insert copy */
|
||||||
|
if (nItem < infoPtr->uNumItem - 1) {
|
||||||
|
memcpy (&infoPtr->items[nItem+1], &oldItems[nItem],
|
||||||
|
(infoPtr->uNumItem - nItem) * sizeof(HEADER_ITEM));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* post insert copy */
|
COMCTL32_Free (oldItems);
|
||||||
if (nItem < infoPtr->uNumItem - 1) {
|
|
||||||
memcpy (&infoPtr->items[nItem+1], &oldItems[nItem],
|
|
||||||
(infoPtr->uNumItem - nItem) * sizeof(HEADER_ITEM));
|
|
||||||
}
|
|
||||||
|
|
||||||
COMCTL32_Free (oldItems);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lpItem = (HEADER_ITEM*)&infoPtr->items[nItem];
|
lpItem = (HEADER_ITEM*)&infoPtr->items[nItem];
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2170,6 +2170,7 @@ typedef struct tagNMTVGETINFOTIPW
|
||||||
#define LVIF_STATE 0x0008
|
#define LVIF_STATE 0x0008
|
||||||
#define LVIF_INDENT 0x0010
|
#define LVIF_INDENT 0x0010
|
||||||
#define LVIF_NORECOMPUTE 0x0800
|
#define LVIF_NORECOMPUTE 0x0800
|
||||||
|
#define LVIF_DI_SETITEM 0x1000
|
||||||
|
|
||||||
#define LVIR_BOUNDS 0x0000
|
#define LVIR_BOUNDS 0x0000
|
||||||
#define LVIR_LABEL 0x0002
|
#define LVIR_LABEL 0x0002
|
||||||
|
@ -2497,6 +2498,30 @@ typedef struct tagTCHITTESTINFO
|
||||||
|
|
||||||
typedef INT (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
|
typedef INT (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
|
||||||
|
|
||||||
|
#define ListView_Arrange(hwnd,code) \
|
||||||
|
(INT)SendMessageA((hwnd),LVM_ARRANGE,(WPARAM)(INT)(code),0L)
|
||||||
|
#define ListView_GetItemPosition(hwnd,i,ppt) \
|
||||||
|
(INT)SendMessageA((hwnd),LVM_GETITEMPOSITION,(WPARAM)(INT)(i),(LPARAM)(LPPOINT)(ppt))
|
||||||
|
#define ListView_GetItemRect(hwnd,i,prc) \
|
||||||
|
(INT)SendMessageA((hwnd),LVM_GETITEMRECT,(WPARAM)(INT)(i),(LPARAM)(LPRECT)(prc))
|
||||||
|
#define ListView_SetItemA(hwnd,pitem) \
|
||||||
|
(INT)SendMessageA((hwnd),LVM_SETITEMA,0,(LPARAM)(const LVITEMA *)(pitem))
|
||||||
|
#define ListView_SetItemState(hwnd,i,pitem) \
|
||||||
|
(BOOL)SendMessageA((hwnd),LVM_SETITEMSTATE,(WPARAM)(UINT)(i),(LPARAM)(LPLVITEMA)(pitem))
|
||||||
|
#define ListView_GetItemState(hwnd,i,mask) \
|
||||||
|
(BOOL)SendMessageA((hwnd),LVM_GETITEMSTATE,(WPARAM)(UINT)(i),(LPARAM)(UINT)(mask))
|
||||||
|
#define ListView_GetCountPerPage(hwnd) \
|
||||||
|
(BOOL)SendMessageW((hwnd),LVM_GETCOUNTPERPAGE,0,0L)
|
||||||
|
#define ListView_GetImageList(hwnd,iImageList) \
|
||||||
|
(HIMAGELIST)SendMessageA((hwnd),LVM_GETIMAGELIST,(WPARAM)(INT)(iImageList),0L)
|
||||||
|
#define ListView_GetStringWidthA(hwnd,pstr) \
|
||||||
|
(INT)SendMessageA((hwnd),LVM_GETSTRINGWIDTHA,0,(LPARAM)(LPCSTR)(pstr))
|
||||||
|
#define ListView_GetTopIndex(hwnd) \
|
||||||
|
(BOOL)SendMessageA((hwnd),LVM_GETTOPINDEX,0,0L)
|
||||||
|
#define ListView_Scroll(hwnd,dx,dy) \
|
||||||
|
(BOOL)SendMessageA((hwnd),LVM_SCROLL,(WPARAM)(INT)(dx),(LPARAM)(INT)(dy))
|
||||||
|
#define ListView_EnsureVisible(hwnd,i,fPartialOk) \
|
||||||
|
(BOOL)SendMessageA((hwnd),LVM_ENSUREVISIBLE,(WPARAM)(INT)i,(LPARAM)(BOOL)fPartialOk)
|
||||||
#define ListView_SetBkColor(hwnd,clrBk) \
|
#define ListView_SetBkColor(hwnd,clrBk) \
|
||||||
(BOOL)SendMessageA((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))
|
(BOOL)SendMessageA((hwnd),LVM_SETBKCOLOR,0,(LPARAM)(COLORREF)(clrBk))
|
||||||
#define ListView_GetImageList(hwnd,iImageList) \
|
#define ListView_GetImageList(hwnd,iImageList) \
|
||||||
|
@ -2511,7 +2536,7 @@ typedef INT (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
|
||||||
(BOOL)SendMessageW((hwnd),LVM_GETITEMW,0,(LPARAM)(LVITEMW *)(pitem))
|
(BOOL)SendMessageW((hwnd),LVM_GETITEMW,0,(LPARAM)(LVITEMW *)(pitem))
|
||||||
#define ListView_GetItem WINELIB_NAME_AW(ListView_GetItem)
|
#define ListView_GetItem WINELIB_NAME_AW(ListView_GetItem)
|
||||||
#define ListView_HitTest(hwnd,pinfo) \
|
#define ListView_HitTest(hwnd,pinfo) \
|
||||||
(INT)SendMessageA((hwnd),LVMHITTEST,0,(LPARAM)(LPLVHITTESTINFO)(pinfo))
|
(INT)SendMessageA((hwnd),LVM_HITTEST,0,(LPARAM)(LPLVHITTESTINFO)(pinfo))
|
||||||
#define ListView_InsertItemA(hwnd,pitem) \
|
#define ListView_InsertItemA(hwnd,pitem) \
|
||||||
(INT)SendMessageA((hwnd),LVM_INSERTITEMA,0,(LPARAM)(const LVITEMA *)(pitem))
|
(INT)SendMessageA((hwnd),LVM_INSERTITEMA,0,(LPARAM)(const LVITEMA *)(pitem))
|
||||||
#define ListView_InsertItemW(hwnd,pitem) \
|
#define ListView_InsertItemW(hwnd,pitem) \
|
||||||
|
|
|
@ -7,6 +7,13 @@
|
||||||
#ifndef __WINE_LISTVIEW_H
|
#ifndef __WINE_LISTVIEW_H
|
||||||
#define __WINE_LISTVIEW_H
|
#define __WINE_LISTVIEW_H
|
||||||
|
|
||||||
|
typedef struct tagLISTVIEW_SUBITEM
|
||||||
|
{
|
||||||
|
LPSTR pszText;
|
||||||
|
INT iImage;
|
||||||
|
INT iSubItem;
|
||||||
|
|
||||||
|
} LISTVIEW_SUBITEM;
|
||||||
|
|
||||||
typedef struct tagLISTVIEW_ITEM
|
typedef struct tagLISTVIEW_ITEM
|
||||||
{
|
{
|
||||||
|
@ -27,19 +34,23 @@ typedef struct tagLISTVIEW_INFO
|
||||||
HIMAGELIST himlNormal;
|
HIMAGELIST himlNormal;
|
||||||
HIMAGELIST himlSmall;
|
HIMAGELIST himlSmall;
|
||||||
HIMAGELIST himlState;
|
HIMAGELIST himlState;
|
||||||
BOOL bLButtonDown;
|
BOOL bLButtonDown;
|
||||||
BOOL bRButtonDown;
|
BOOL bRButtonDown;
|
||||||
INT nColumnCount;
|
INT nCountPerColumn;
|
||||||
INT nFocusedItem;
|
INT nCountPerRow;
|
||||||
INT nItemCount;
|
INT nFocusedItem;
|
||||||
INT nItemHeight;
|
INT nItemHeight;
|
||||||
INT nColumnWidth;
|
INT nColumnWidth;
|
||||||
INT nSelectionMark;
|
INT nSelectionMark;
|
||||||
|
SHORT notifyFormat;
|
||||||
|
RECT rcList;
|
||||||
|
SIZE iconSize;
|
||||||
|
SIZE smallIconSpacing;
|
||||||
|
SIZE largeIconSpacing;
|
||||||
|
UINT uCallbackMask;
|
||||||
HWND hwndHeader;
|
HWND hwndHeader;
|
||||||
HFONT hDefaultFont;
|
HFONT hDefaultFont;
|
||||||
HFONT hFont;
|
HFONT hFont;
|
||||||
INT nWidth;
|
|
||||||
INT nHeight;
|
|
||||||
BOOL bFocus;
|
BOOL bFocus;
|
||||||
DWORD dwExStyle; /* extended listview style */
|
DWORD dwExStyle; /* extended listview style */
|
||||||
HDPA hdpaItems;
|
HDPA hdpaItems;
|
||||||
|
|
Loading…
Reference in New Issue