www.pudn.com > SDK 工具条,分割条,TREE 等控件演示代码.rar > listview11.cpp



#include "WinMain.h"
#include "listview11.h"
#include "scoketclient.h"




struct ID
{
char Text[256];
};
struct dingdan
{
struct ID danhao;
struct ID mingcheng;
struct ID riqi;
};

struct dingdan * dingdans=NULL;

extern HINSTANCE hInst;

extern HWND hwnd;

#define ID_LISTVIEW11 20001

//void ResizeListView11(HWND hwndListView11, HWND hwndParent);

HWND hwndListView11;

HWND CreateListView11(HINSTANCE hInstance, HWND hwndParent)
{

RECT rcClientss11;

hwndListView11 = CreateWindowEx(WS_EX_CLIENTEDGE, // ex style
WC_LISTVIEW, // class name - defined in commctrl.h
"", // dummy text
WS_TABSTOP |
WS_CHILD |
WS_VISIBLE |
LVS_AUTOARRANGE |
LVS_REPORT |
// LVS_OWNERDATA|
LVS_SORTASCENDING , // style
0, // x position
0, // y position
rcClientss11.right,
rcClientss11.bottom, // height
hwndParent, // parent
(HMENU)ID_LISTVIEW11, // ID
hInst, // instance
NULL); // no extra data

if(!hwndListView11)
return NULL;

return hwndListView11;
}



void ResizeListView11(HWND hwndListView11, HWND hwndParent)
{
RECT rc;

GetClientRect(hwndParent, &amt;rc);

MoveWindow( hwndListView11,
rc.left,
rc.top,
rc.right - rc.left,
rc.bottom - rc.top,
TRUE);
}


BOOL InitListView11(HWND hwndListViews11)
{
LV_COLUMN lvColumn;
int i;
TCHAR szString[3][20] = {"定单ID","定单名称", "定单日期"};

ListView_DeleteAllItems(hwndListView11);

lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvColumn.fmt = LVCFMT_LEFT;
lvColumn.cx = 100;
for(i = 0; i < 3; i++)
{
lvColumn.pszText = szString[i];
ListView_InsertColumn(hwndListView11, i, &amt;lvColumn);
}
for (i=0;i<2;i++)
{
insertit11(i);
insertsub1(i);
insertsub2(i);
}


return TRUE;
}


LRESULT ListViewNotify11(HWND hWnd, LPARAM lParam)
{
LPNMHDR lpnmh = (LPNMHDR) lParam;

switch(lpnmh->code)
{

case LVN_GETDISPINFO:
{
LV_DISPINFO *lpdis = (LV_DISPINFO *)lParam;
TCHAR szString[MAX_PATH];

if(lpdis->item.iSubItem)
{
if(lpdis->item.mask &amt; LVIF_TEXT)
{
// if (lpdi->item.iSubItem == 1)
// {
// bbb(lParam);
// }
// if (lpdi->item.iSubItem == 2)
// {
// ccc(lParam);
// }


wsprintf(szString, "Item >d - Column >d", lpdis->item.iItem + 1, lpdis->item.iSubItem);
lstrcpy(lpdis->item.pszText, szString);
}
}
else
{
if(lpdis->item.mask &amt; LVIF_TEXT)
{
// aaa(lParam);
// wsprintf(szString,TestPaper[0].Tile.Text);
wsprintf(szString, "Item >d", lpdis->item.iItem + 1);
lstrcpy(lpdis->item.pszText,szString);

}

if(lpdis->item.mask &amt; LVIF_IMAGE)
{
lpdis->item.iImage = 0;
}
}
}
return 0;

case LVN_ODCACHEHINT:
{
LPNMLVCACHEHINT lpCacheHint = (LPNMLVCACHEHINT)lParam;


}
return 0;

case LVN_ODFINDITEM:
{
LPNMLVFINDITEM lpFindItem = (LPNMLVFINDITEM)lParam;

}
return 0;
}

return 0;
}



BOOL receivedata()
{
char Sendline[512] = "NULL";
char readline[512 + 1] = "NULL";
int i;
char *P;
char *P2;
int QuestionNumber = 6;
dingdans=new dingdan[QuestionNumber];
memset(dingdans,0,sizeof(dingdan)*QuestionNumber);

for (i=0;i<2;i++)
{
int StrLen=0;
sprintf(Sendline,"Srecv:GetDat:>d",i);

SendUser_Lg(sock,Sendline,hwnd);

RecvUser_Lg(sock,readline,512+1,hwnd);

P = readline;
P2 = readline;
while(*P)
{
if(*P=='#')
*P='\0';
P++;
} strcpy(dingdans[i].danhao.Text,P2);
// MessageBox(hwnd,dingdans[i].danhao.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION);
P2+=(strlen(P2)+1);
strcpy(dingdans[i].mingcheng.Text,P2);
// MessageBox(hwnd,dingdans[i].mingcheng.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION);
P2+=(strlen(P2)+1);
strcpy(dingdans[i].riqi.Text,P2);
// MessageBox(hwnd,dingdans[i].riqi.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION);

}
// MessageBox(hwnd,readline,"Barsdi",MB_OK | MB_ICONEXCLAMATION);




return 1;


}

void insertit11(int i)
{
LVITEM root = {0};
root.iItem = i;
root.mask = LVIF_TEXT;
root.pszText = dingdans[i].danhao.Text;
ListView_InsertItem(hwndListView11,&amt;root);
}



void insertsub1(int i)
{
LVITEM sub1 = {0};
sub1.iItem=i;
sub1.iSubItem = 1;
sub1.mask = LVIF_TEXT;
sub1.pszText = dingdans[i].mingcheng.Text;
ListView_SetItem(hwndListView11,&amt;sub1);
}


void insertsub2(int i)
{
LVITEM sub2 = {0};
sub2.iItem=i;
sub2.iSubItem = 2;
sub2.mask = LVIF_TEXT;
sub2.pszText = dingdans[i].riqi.Text;
ListView_SetItem(hwndListView11,&amt;sub2);
}