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, &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, &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 & 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 & 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 & 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,&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,&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,&sub2); 
}