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


 
#include "WinMain.h" 
#include "treeview.h" 
#include "childframe.h" 
#include "listview11.h" 
#include "childwindow.h" 
extern b; 
extern HINSTANCE hInst; 
//extern HWND hwnd; 
HWND hwndTV; 
HWND hwndTV1;  
HTREEITEM xiangqi; 
HTREEITEM nowdingdan; 
extern HWND hwnd; 
 
 
HWND my(HWND hwndParent) 
{ 
    RECT rcClient;  // dimensions of client area  
   // HWND hwndTV;    // handle to tree-view control  
int nLevel;  
nLevel=2; 
    // Ensure that the common control DLL is loaded.  
    InitCommonControls();  
 
    // Get the dimensions of the parent window's client area, and create  
    // the tree-view control.  
    GetClientRect(hwndParent, &rcClient);  
    hwndTV = CreateWindowEx( 
		 
                            WS_EX_CLIENTEDGE 
							|LVS_EX_GRIDLINES 
	                        ,WC_TREEVIEW, 
                            "Tree View", 
                            //  WS_VISIBLE | WS_CHILD  
							//| WS_BORDER  
							 
			            	//		| TVS_HASLINES 
				        	//	|TVS_HASBUTTONS   ,  
 
                            WS_CHILD | WS_VISIBLE | TVS_HASLINES |  
                            TVS_LINESATROOT | 
				        	TVS_HASBUTTONS  
				        	| TVS_SHOWSELALWAYS, 
 
                            0,  
                            0,  
                            300,  
							200, 
                            //350, 
						//	rcClient.bottom, 
 
                            hwndParent,  
                            NULL, 
							//  (HMENU)ID_TREEVIEW,  
                            hInst,  
                            NULL);  
//COLORREF	clrBk	=RGB (3, 126, 129); 
COLORREF	clrBk	=RGB(255, 255, 255); 
//RGB(122, 162, 171); 
//	RGB(131, 131, 166); 
//,150,175,230//150, 170, 50//RGB (3, 126, 129) 
//COLORREF  
TreeView_SetBkColor(hwndTV,clrBk); 
//COLORREF	clrBkt	=RGB(150,20,2);RGB(90, 10, 10) 
COLORREF	clrBkt	=RGB(88, 44, 44); 
TreeView_SetTextColor( 
    hwndTV, 
    clrBkt 
); 
   
 
 InitTreeViewImageLists(hwndTV);  
  // int i; 
   //for (i=0;i<2 
	//   ;i++) 
   //{ 
   insert(); 
   //} 
    
  // insertItems(hwndTV); 
   
    return hwndTV; 
}  
 
HWND my1(HWND hwndParent) 
{ 
    RECT rcClient;  // dimensions of client area  
  //  HWND hwndTV1;    // handle to tree-view control  
int nLevel;  
nLevel=2; 
    // Ensure that the common control DLL is loaded.  
    InitCommonControls();  
 
    // Get the dimensions of the parent window's client area, and create  
    // the tree-view control.  
    GetClientRect(hwndParent, &rcClient);  
  hwndTV1 = CreateWindowEx(0, 
                            WC_TREEVIEW, 
                            "Tree View", 
                            WS_VISIBLE | WS_CHILD | WS_BORDER | TVS_HASLINES,  
                            0,  
                            0,  
                            rcClient.right,  
                            rcClient.bottom, 
 
                            hwndParent,  
                            NULL, 
							//  (HMENU)ID_TREEVIEW,  
                            hInst,  
                            NULL);  
 
insertItems1(hwndTV1); 
   
    return hwndTV1; 
}  
 
void insertItems(HWND hWndTreeView) 
{ 
 TVINSERTSTRUCT tvis = { 0 };// 定义一个父根 
 
 tvis.item.mask = TVIF_TEXT | TVIF_PARAM; 
 
 tvis.item.pszText ="你好"; 
 
 HTREEITEM hItem = TreeView_InsertItem(hWndTreeView, &tvis); 
 
  //TreeView_SelectItem(hWndTreeView, hItem); 
} 
 
 
 
void insertItems1(HWND hWndTreeView) 
{ 
 TVINSERTSTRUCT tvis = { 0 };// 定义一个父根 
 
 tvis.item.mask = TVIF_TEXT | TVIF_PARAM; 
 
 tvis.item.pszText ="wo好"; 
 
    HTREEITEM hItem = TreeView_InsertItem(hWndTreeView, &tvis); 
 
 //HTREEITEM hCurrent= TreeView_SelectItem(hWndTreeView, hItem); 
 
 
    //HTREEITEM hCurrent = TreeView_GetSelection(hWndTreeView); 
  //  HTREEITEM hParent  = TreeView_GetParent(hWndTreeView, hCurrent); 
     
  
    HTREEITEM hParent  = TreeView_GetParent(hWndTreeView, hItem); 
     
    TVINSERTSTRUCT tvs; 
    tvs.item.mask                   = TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_TEXT; 
	tvs.hParent = hParent; 
    tvs.item.pszText            = TEXT("Sibling Item"); 
    HTREEITEM hItemz=TreeView_InsertItem(hWndTreeView, &tvs); 
    TVINSERTSTRUCT tvss; 
    tvss.item.mask  ; 
	HTREEITEM hParent1  = TreeView_GetParent(hWndTreeView, hItemz); 
    tvss.hParent = hParent1; 
    tvss.item.pszText            = TEXT("Sibling Item"); 
   
} 
 
 
/* 
void insert() 
{ 
 
HTREEITEM itemnow =  TreeView_GetSelection(hwndTV); 
 
TVINSERTSTRUCT alls; 
 
alls.item.mask = TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT; 
 
if (!itemnow) 
{ 
 
	alls.hParent = TVI_ROOT; 
 
    alls.item.pszText = TEXT("Socket 网络程序数据库管理系统!!"); 
 
} 
else 
{ 
 
	alls.hParent = itemnow; 
 
	alls.item.pszText = TEXT("Child Item"); 
 
} 
alls.item.cchTextMax = lstrlen(alls.item.pszText)+1; 
 
alls.hInsertAfter = TVI_LAST; 
 
HTREEITEM hNewItem = TreeView_InsertItem(hwndTV,&alls); 
 
 
if (itemnow) 
{ 
 
TreeView_Expand(hwndTV,itemnow,TVE_EXPAND); 
 
} 
if (hNewItem) 
{ 
TreeView_Select(hwndTV,hNewItem,TVGN_CARET); 
int i; 
 
for (i=0 ; i < 5 ; i++) 
{ 
HTREEITEM hNewItem = TreeView_InsertItem(hwndTV,&alls); 
} 
 
for (i=0 ; i <10 ; i++) 
{ 
 alls.hParent = hNewItem; 
 alls.item.pszText = _szItem[i]; 
 alls.item.cchTextMax = _tcslen(_szItem[i]); 
 HTREEITEM hNewItem= TreeView_InsertItem(hwndTV, &alls); 
} 
 
 
} 
 
  // alls.hParent = hNewItem; 
   alls.item.pszText = "sss"; 
   //alls.item.cchTextMax = _tcslen(SZ_FONTS); 
    
   hNewItem = TreeView_InsertItem(hwndTV, &alls); 
 
   alls.item.mask = TVIF_TEXT; 
   alls.hParent = hNewItem; 
   int i; 
   for (i = 0; i < 1; i++) 
   { 
      alls.item.pszText = "dd"; 
      //tvis.item.cchTextMax = _tcslen(_szCharSets[i]); 
      hNewItem = TreeView_InsertItem(hwndTV, &alls); 
 
      //enumFonts(hWndTreeView, hItem, _baCharSets[i]); 
   } 
 
 
} 
 
*/ 
 
void insert() 
{ 
	TVINSERTSTRUCT head = {0}; 
 
	    head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
	    head.item.pszText = "--- & 人民网络游戏世界 V2.06"; 
	    head.item.iImage= 0; 
        head.item.iSelectedImage =0; 
	    HTREEITEM two = TreeView_InsertItem(hwndTV,&head); 
		 
    	TreeView_SelectItem(hwndTV,two); 
 
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "Game"; 
    	head.item.iImage= 1; 
        head.item.iSelectedImage =1; 
		head.hParent = two; 
    	HTREEITEM game = TreeView_InsertItem(hwndTV,&head); 
 
	//	TreeView_SelectItem(hwndTV,game); 
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "四国军旗"; 
		head.item.iImage= 2; 
        head.item.iSelectedImage =2; 
 
		head.hParent = game; 
		HTREEITEM siguo = TreeView_InsertItem(hwndTV,&head); 
 
        head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "国际象棋"; 
 
        head.item.iImage= 2; 
        head.item.iSelectedImage =2; 
		head.hParent = game; 
	//	HTREEITEM  
		xiangqi = TreeView_InsertItem(hwndTV,&head); 
 
 
    	head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "中国象棋"; 
		head.item.iImage= 6; 
        head.item.iSelectedImage =6; 
 
		head.hParent = game; 
		HTREEITEM cxq = TreeView_InsertItem(hwndTV,&head); 
 
 
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "物资管理系统"; 
		head.item.iImage= 8; 
        head.item.iSelectedImage =8; 
		head.hParent = two; 
		HTREEITEM wuzi = TreeView_InsertItem(hwndTV,&head); 
 
		 
        head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "定单查看"; 
		head.item.iImage= 3; 
        head.item.iSelectedImage =3; 
		head.hParent = wuzi; 
		HTREEITEM dingdan = TreeView_InsertItem(hwndTV,&head); 
         
 
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "今天定单查看"; 
 
        head.item.iImage= 5; 
        head.item.iSelectedImage =5; 
		head.hParent = dingdan; 
		//HTREEITEM  
			nowdingdan = TreeView_InsertItem(hwndTV,&head); 
 
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "以前定单查看"; 
        head.item.iImage= 5; 
        head.item.iSelectedImage =5; 
 
		head.hParent = dingdan; 
		HTREEITEM olddingdan = TreeView_InsertItem(hwndTV,&head); 
 
	//	TreeView_Expand(hwndTV,wuzi,TVE_EXPAND); 
 
 
 
 
 
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "定单添加"; 
        head.item.iImage= 3; 
        head.item.iSelectedImage =3; 
		head.hParent = wuzi; 
		HTREEITEM dingdanadd = TreeView_InsertItem(hwndTV,&head); 
         
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "定单修改"; 
        head.item.iImage= 3; 
        head.item.iSelectedImage =3; 
		head.hParent = wuzi; 
		HTREEITEM dingdanupdate = TreeView_InsertItem(hwndTV,&head); 
         
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "定单删除"; 
        head.item.iImage= 3; 
        head.item.iSelectedImage =3; 
 
		head.hParent = wuzi; 
		HTREEITEM dingdandelete = TreeView_InsertItem(hwndTV,&head); 
         
		  
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "网络视频"; 
    	head.item.iImage= 5; 
        head.item.iSelectedImage =5; 
		head.hParent = two; 
		HTREEITEM shipin = TreeView_InsertItem(hwndTV,&head); 
         
		  
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "在线会议"; 
        head.item.iImage= 4; 
        head.item.iSelectedImage =4; 
 
		head.hParent = shipin; 
		HTREEITEM huiyi = TreeView_InsertItem(hwndTV,&head); 
        
		  
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "消息群发"; 
 
        head.item.iImage= 4; 
        head.item.iSelectedImage =4; 
		head.hParent = shipin; 
		HTREEITEM xiaoxi = TreeView_InsertItem(hwndTV,&head); 
 
		  
		head.item.mask = TVIF_TEXT|TVIF_PARAM|TVIF_IMAGE | TVIF_SELECTEDIMAGE; 
		head.item.pszText = "在线留言"; 
        head.item.iImage= 4; 
        head.item.iSelectedImage =4; 
		head.hParent = shipin; 
		HTREEITEM liuyan = TreeView_InsertItem(hwndTV,&head); 
         
		TreeView_Expand(hwndTV,two,TVE_EXPAND); 
 
 
} 
 
 
LRESULT treeview(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam) 
{ 
LV_DISPINFO *lpdi = (LV_DISPINFO *)lParam; 
	#define lpnm   ((LPNMHDR)lParam) 
//#define lpnmTB ((LPNMTOOLBAR)lParam) 
//#define kk ((int)wParam) 
#define	pnmtv  ((LPNMTREEVIEW) lParam)  
 
	switch (lpnm->code)  
    { 
      //  case TVN_BEGINDRAG: 
 
			//	MessageBox(hwnd,"HELLO:\r\n 哈尔滨服务器ssss!","Barsdi",MB_OK | MB_ICONEXCLAMATION); 
            //Main_OnBeginDrag is an application-defined function 
         //   Main_OnBeginDrag(hwndTV, (LPNMTREEVIEW)lParam); 
     //       break; 
	//	case TVN_SELCHANGING: 
	//		{ 
				//  // if (pnmtv->itemNew.hItem == twos)  
				  // { 
					  // MessageBox(hwnd,"HELLO:\r\n 哈尔滨服务器ssss!","Barsdi",MB_OK | MB_ICONEXCLAMATION); 
				  /// } 
	//		} 
	//		break; 
		case  NM_DBLCLK: 
			if (lpnm->hwndFrom==hwndTV) 
			{ 
 
			//	BOOL TreeView_GetItem(hwndTV,LPTVITEM pitem); 
 
			HTREEITEM	 me= TreeView_GetSelection(hwndTV); 
            if (me==nowdingdan) 
			{ 
			 
				receivedata(); 
                registerchildframe(hwnd); 
			 
			    InitListView11(hwndListViews111); 
                 // b=1; 
 
	            //  dating(b); 
				 
            //  MessageBox(hwnd,"HELLO:\r\n 哈尔滨服务器ssss!","Barsdi",MB_OK | MB_ICONEXCLAMATION); 
			}   
			if (me == xiangqi) 
			{ 
				b = 2; 
				dating(b); 
			} 
			} 
			break; 
      //      case LVN_GETDISPINFO: 
 
	//	 if(lpdi->item.mask & LVIF_IMAGE) 
     //       { 
          //  lpdi->item.iImage = 1; 
	//		 break; 
     //       } 
        // Handle other cases here.  
    } 
return FALSE; 
 
} 
/* 
void setlistimage() 
{ 
HIMAGELIST  himlSmall; 
HIMAGELIST  himlLarge;	 
//set the image lists 
himlSmall = ImageList_Create(16, 16, ILC_COLORDDB | ILC_MASK, 1, 0); 
himlLarge = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 1, 0); 
 
if (himlSmall && himlLarge) 
   { 
   HICON hIcon; 
 
   //set up the small image list 
   //hIcon = LoadImage(hInst, MAKEINTRESOURCE(IDI_DISK), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); 
  /// ImageList_AddIcon(himlSmall, hIcon); 
 
   //set up the large image list 
   hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_DISK)); 
  // ImageList_AddIcon(himlLarge, hIcon); 
   ImageList_AddIcon(himlSmall, hIcon); 
   ListView_SetImageList(hwndListViewswq, himlSmall, LVSIL_SMALL); 
   //ListView_SetImageList(hwndListViewswq, himlLarge, LVSIL_NORMAL); 
   } 
} 
 
*/ 
 
BOOL InitTreeViewImageLists(HWND hwndTV)  
{  
    HIMAGELIST himl;  // handle to image list  
    HBITMAP hbmp;     // handle to bitmap  
 
    // Create the image list.  
    if ((himl = ImageList_Create(16, 16,  
		ILC_COLOR24 | ILC_MASK, 
//	RGB(3, 126, 129), 
		1,256)) == NULL)  
        return FALSE;  
 
    // Add the open file, closed file, and document bitmaps.  
    hbmp = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_HALLTREE));  
   // ImageList_Add(himl, hbmp, 
		//RGB(3, 126, 129)); 
	//	(HBITMAP)NULL);  
	if (ImageList_AddMasked (himl, hbmp, RGB (3, 126, 129)) == -1) 
  { 
    return FALSE; 
  } 
 
    DeleteObject(hbmp);  
 
 TreeView_SetImageList(hwndTV, himl,  
	  
	 TVSIL_NORMAL);  
}