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);
}