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


//#include  
 
#include  
#include  
 
 
#pragma comment (lib,"ws2_32.lib") 
 
#include "WinMain.h" 
#include "toolbar.h" 
#include "toolbar1.h" 
#include "toolbartt.h" 
#include "treeview.h" 
#include "splitter.h" 
#include "childframe.h"       
#include "childwindow.h"   
#include "scoketclient.h" 
#include "listviewqq.h" 
#include "listview.h" 
#include "listview11.h" 
#include "listviewchat.h" 
#include "button.h" 
#include "listbox.h" 
#include "DialogNoModes.h" 
 
 
 
 
char * P; 
char * P2; 
 
struct Questions{ 
    BOOL state; 
    char Text [512]; 
}; 
struct SelectObject{ 
	BOOL state; 
	char Text[256]; 
}; 
struct TestRubric{ 
  struct Questions Tile; 
  struct SelectObject choose [4]; 
}; 
 
TestRubric * TestPaper=NULL; 
 
 
                 
			   
 
extern HWND hSplitter; 
extern HWND hSplitter1; 
HINSTANCE hInst;  
 
LRESULT CALLBACK WndProc(HWND, UINT,WPARAM,LPARAM); 
 
HWND hwnd ; 
 
HWND hStatus; 
 
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, 
				   PSTR szCmdLine,int iCmdShow) 
 
{ 
	static char szAppName[] = "AppName"; 
  
 
	MSG msg; 
     
	WNDCLASSEX wndclass; 
    hInst = hInstance; 
	wndclass.cbSize =sizeof(wndclass); 
	wndclass.style =CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS; 
	wndclass.lpfnWndProc = WndProc; 
	wndclass.cbClsExtra =0; 
	wndclass.cbWndExtra =0; 
	wndclass.hInstance =hInstance; 
	wndclass.hIcon =LoadIcon(NULL,MAKEINTRESOURCE(IDI_ICON1)); 
	wndclass.hCursor= LoadCursor(NULL,IDC_ARROW); 
	wndclass.hbrBackground = 
	//	(HBRUSH)(COLOR_BACKGROUND); 
	//	(HBRUSH)GetStockObject(WHITE_BRUSH); 
(HBRUSH)CreateSolidBrush(RGB(210, 205,189)); 
	wndclass.lpszMenuName = NULL; 
	wndclass.lpszClassName =szAppName; 
	wndclass.hIconSm = LoadIcon(NULL,MAKEINTRESOURCE(IDI_ICON1)); 
 
	RegisterClassEx(&wndclass); 
 
	hwnd = CreateWindowEx(WS_EX_APPWINDOW, 
		szAppName, 
		"人民网络游戏世界 - [版本 V 2.6]", 
		WS_OVERLAPPEDWINDOW, 
		CW_USEDEFAULT, 
		CW_USEDEFAULT, 
		CW_USEDEFAULT, 
		CW_USEDEFAULT, 
	 
		NULL, 
		NULL, 
		hInstance, 
		NULL); 
 
	ShowWindow(hwnd,iCmdShow); 
 
	UpdateWindow(hwnd); 
 
	while (GetMessage(&msg,NULL,0,0)) 
	{ 
    if(hDlgModeless ==0 || !IsDialogMessage(hDlgModeless,&msg)) 
	{ 
		TranslateMessage(&msg); 
		DispatchMessage(&msg); 
	    
	} 
       //return msg.wParam; 
	} 
} 
LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam) 
{   
 
//	HDC hdc; 
	PAINTSTRUCT ps; 
//	RECT allrect; 
static HWND hwndListViews; 
 
	switch (iMsg) 
 
	{ 
	case WM_CREATE: 
	  	 
		CreateAToolBar(hwnd) ; 
 
 
 
		my(hwnd); 
 
		RegisterSplitter(); 
 
		hSplitter = CreateWindowEx(0, "MySplitter", "Splitter Demo", WS_VISIBLE | WS_CHILD, 180, 0, 3, 15, hwnd, (HMENU)1004, hInst, NULL); 
 
		RegisterSplitter1(); 
 
		hSplitter1 = CreateWindowEx(0, "MySplitter1", "Splitter Demo", WS_VISIBLE | WS_CHILD, 0, 180, 15, 3, hwnd, (HMENU)1005, hInst, NULL); 
         
		hwndListViews = CreateListView(hInst, hwnd); 
 
		InitListView(hwndListViews); 
 
		registerchildwindow(hwnd); 
 
	    hStatus = CreateWindowEx( 
        0,  STATUSCLASSNAME,  "----~人民网络游戏世界~~程序- 》》SWQZXCVASD     ~~ 美术-》》 天晴………", 
          
	    SBARS_SIZEGRIP |WS_CHILD|WS_VISIBLE,0, 0, 0, 0,hwnd,NULL, 
        
	    hInst,NULL);                    
 
 
	   //1 hwndListViews = CreateListView(hInst, hwnd); 
       
        //2InitListView(hwndListViews); 
 
	//3	CreateAToolBar(hwnd) ; 
		 
//4		my(hwnd); 
 
//5		RegisterSplitter(); 
		 
//6		RegisterSplitter1(); 
		 
	 
//7		hSplitter = CreateWindowEx(0, "MySplitter", "Splitter Demo", WS_VISIBLE | WS_CHILD, 180, 0, 3, 15, hwnd, (HMENU)1004, hInst, NULL); 
 
		 
//8		hSplitter1 = CreateWindowEx(0, "MySplitter1", "Splitter Demo", WS_VISIBLE | WS_CHILD, 0, 180, 15, 3, hwnd, (HMENU)1005, hInst, NULL); 
         
//9		registerchildwindow(hwnd); 
 
//10		hStatus = CreateWindowEx( 
    //    0,                       // no extended styles 
      //  STATUSCLASSNAME, // name of status bar class 
      //  "----~人民网络游戏世界SWQZXCVASD开发………", 
      //  (LPCTSTR) NULL,          // no text when first created 
   //     SBARS_SIZEGRIP |         // includes a sizing grip 
     //   WS_CHILD|WS_VISIBLE,                // creates a child window 
      //  0, 0, 0, 0,              // ignores size and position 
    //    hwnd, 
//		NULL,// handle to parent window 
       // (HMENU) nStatusID,       // child window identifier 
  //      hInst,                   // handle to application instance 
    //    NULL);                    
 
		//SendMessage(hwnd, WM_SIZE, 0, 0); 
 
//InitializeFlatSB(hwndListViews); 
/* 
FlatSB_SetScrollProp(hwndListViewswq, 
  WSB_PROP_VSTYLE , 
  FSB_FLAT_MODE, 
  FALSE 
); 
*/ 
//FlatSB_UpdateMetrics(hwndListViewswq); 
 
 
    	return 0; 
 
	case WM_SIZE: 
		 SendMessage(hWndToolbar, iMsg, wParam, lParam); 
		 SendMessage(hStatus, iMsg, wParam, lParam); 
	//	 GetClientRect(hwnd, &allrect);  
 
		 { 
      HDWP hdwp; 
      RECT rect,childframe00,rectStatus,rectTree,toolbar,hwndListViewss; 
      hdwp = BeginDeferWindowPos(5); 
       
	  GetClientRect(hwnd, &rect); 
       
	  GetClientRect(hStatus, &rectStatus); 
	   
	  GetClientRect(hWndToolbar,&toolbar); 
       
	  GetWindowRect(hwndTV, &rectTree); 
 
	  GetClientRect(hwndListViewswq, &hwndListViewss); 
       
	  GetClientRect(hChildw, &childframe00); 
 
	  DeferWindowPos(hdwp,hWndToolbar,NULL,0,0,rect.right,toolbar.bottom,SWP_NOZORDER); 
       
      DeferWindowPos(hdwp, hwndTV, NULL, 0,toolbar.bottom, rectTree.right-rectTree.left,rectTree.bottom-rectTree.top, SWP_NOZORDER); 
       
      DeferWindowPos(hdwp, hSplitter, NULL, rectTree.right-rectTree.left, toolbar.bottom, 2, rect.bottom-toolbar.bottom, SWP_NOZORDER); 
        
     // DeferWindowPos(hdwp, hChildw, NULL, rectTree.right-rectTree.left+2,toolbar.bottom, rect.right-(rectTree.right-rectTree.left)-2,rect.bottom-toolbar.bottom-rectStatus.bottom, SWP_NOZORDER); 
 
	  DeferWindowPos(hdwp, hSplitter1, NULL, 0, toolbar.bottom+rectTree.bottom-rectTree.top, rectTree.right-rectTree.left, 2, SWP_NOZORDER); 
    
	  DeferWindowPos(hdwp, hwndListViewswq, NULL, 0 ,toolbar.bottom+rectTree.bottom-rectTree.top+2, rectTree.right-rectTree.left, rect.bottom-toolbar.bottom-(rectTree.bottom-rectTree.top)-2- (rectStatus.bottom - rectStatus.top), SWP_NOZORDER); 
       
      DeferWindowPos(hdwp, hChildw, NULL, rectTree.right-rectTree.left+2,toolbar.bottom, rect.right-(rectTree.right-rectTree.left)-2,rect.bottom-toolbar.bottom-rectStatus.bottom, SWP_NOZORDER); 
 
      DeferWindowPos(hdwp, hStatus, NULL, 0 ,rect.bottom-rectStatus.bottom, rect.right, rectStatus.bottom, SWP_NOZORDER); 
       
	  EndDeferWindowPos(hdwp); 
 
/* 
	  DeferWindowPos(hdwp,hWndToolbar,NULL,0,0,rect.right,toolbar.bottom,SWP_NOZORDER); 
       
	  DeferWindowPos(hdwp, hwndTV, NULL, 0,toolbar.bottom, rectTree.right - rectTree.left,toolbar.bottom+rectTree.bottom-rectTree.top,SWP_NOZORDER); 
       
	  DeferWindowPos(hdwp, hSplitter, NULL, rectTree.right - rectTree.left,toolbar.bottom, 2, rect.bottom- toolbar.bottom, SWP_NOZORDER); 
       
	  DeferWindowPos(hdwp, hSplitter1, NULL,0,toolbar.bottom + rectTree.bottom - rectTree.top , rectTree.right-rectTree.left, 2, SWP_NOZORDER); 
	  
	  DeferWindowPos(hdwp, hwndListViewswq, NULL, 0 ,toolbar.bottom+rectTree.bottom-rectTree.top, rectTree.right - rectTree.left, 200, SWP_NOZORDER); 
       
      EndDeferWindowPos(hdwp);*/ 
    } 
 
 
    
        return 0; 
	case WM_PAINT: 
	       BeginPaint (hwnd, &ps) ; 
 
	 
 
           EndPaint (hwnd, &ps); 
           return 0 ; 
    case WM_NOTIFY: 
		 ListViewNotify(hwnd, lParam); 
	     treeview(hwnd,iMsg,wParam,lParam); 
	//	 ProcessCustomDraw(lParam); 
        return DoNotify(hwnd,iMsg, wParam, lParam); 
		return 0; 
	case WM_COMMAND: 
     switch (LOWORD (wParam)) 
		  { 
	    
	      case ID_MENUITEM40006: 
			 //  CreateNoModeless(hwnd); 
               break;   
	      case ID_MENUITEM40011: 
			 //  DialogBox(hInst, (LPCTSTR)IDD_DIALOG1, hwnd, (DLGPROC)DlgTeamProc); 
			   break; 
		  case ID_MENUITEM40018: 
			  { 
			//	registerchildframe(hwnd); 
				  break; 
			  } 
 
		  case IDS_LIANJIE: 
//             SocketClient(hwnd);  
			   NetLink(hwnd,"127.0.0.1"); 
			   char Sendline[512] = "客户端数据应该在服务器显示";  
			   char readline[512 + 1] = "错误";  
			   char Sendline1[512] = "示";  
			   char readline1[512 + 1] = "错";  
			   char * P; 
               char * P2; 
              // SendUser_Lg(sock,Sendline,hwnd);//send kehuduan shuju 
               
			  // RecvUser_Lg(sock,readline,512+1,hwnd);//secv ss 
			  
			  // Displays(hwnd,readline);//ss 
 
			   strcpy(Sendline1,"login:");//copy  
				    
			   SendUser_Lg(sock,Sendline1,hwnd);//send  
			//	    int yy; 
			 //  yy = sock; 
			  /// char PPP[256]; 
               //fprintf(stderr, " Echo on socket %x.\n",sock); 
			 //  wsprintf(PPP,"%x",sock); 
			//   MessageBox(hwnd,PPP,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
               RecvUser_Lg(sock,readline1,512+1,hwnd);//recv login 
			   
			   Displays(hwnd,readline1);//login 
               int QuestionNumber = 6; 
			   TestPaper=new TestRubric [QuestionNumber]; 
			   memset(TestPaper,0,sizeof(TestRubric)*QuestionNumber); 
 
			   int i; 
                
			   for(i=0;i<5;i++) 
			   { 
				 int StrLen=0; 
				 sprintf(Sendline1,"Srecv:GetQue:%d",i); 
				 StrLen=strlen(Sendline1); 
                 SendUser_Lg(sock,Sendline1,hwnd); 
				 if(RecvUser_Lg(sock,readline1,512+1,hwnd)!=-1) 
							{ 
					  
					            
                         //     MessageBox(hwnd,readline1,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
 
							  P = readline1; 
							  P2 = readline1; 
							  while(*P) 
							  { 
                               if(*P=='#') 
                                  *P='\0'; 
							      P++; 
							  } 
						 
						 
                              
							  
							  
                             strcpy(TestPaper[i].Tile.Text,P2); 
                             P2+=(strlen(P2)+1); 
			//	if (TestPaper[0].Tile.Text == "宋伟齐") 
//	{ 
       //  SendMessage(hwndListViewswq,iMsg, wParam, lParam); 
//	} 
 
							 
                        //  MessageBox(hwnd,TestPaper[i].Tile.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
                             strcpy(TestPaper[i].choose[0].Text,P2); 
                             P2+=(strlen(P2)+1); 
							  
						//	 MessageBox(hwnd,sock,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
                             strcpy(TestPaper[i].choose[1].Text,P2); 
						//	 MessageBox(hwnd,TestPaper[i].choose[1].Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
					 
							} 
						 
                     
					 
			   } 
           //    setlistimage(); 
			   InvalidateRect(hwnd ,NULL,TRUE); 
			 
               break; 
		  
			   
				   
		  }    
		   
	 
 
			//	case IDM_EXIT: 
			//	   break; 
			//	default: 
				 //  return DefWindowProc(hwnd, message, wParam, lParam); 
			 
		//	break; 
 
 
 
			  return 0; 
		   
	case WM_DESTROY: 
	//	closesocket(sock); 
		free(TestPaper); 
		PostQuitMessage(0); 
		return 0; 
	} 
	return DefWindowProc(hwnd,iMsg,wParam,lParam); 
} 
 
 
aaa(LPARAM lParams) 
{ 
	LV_DISPINFO *lpdi = (LV_DISPINFO *)lParams; 
//	MessageBox(hwnd,TestPaper[0].Tile.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
// wsprintf(szString, "Item %d", lpdi->item.iItem + 1); 
    lstrcpy(lpdi->item.pszText,TestPaper[lpdi->item.iItem].Tile.Text); 
 
} 
 
bbb(LPARAM lParams) 
{ 
 
	LV_DISPINFO *lpdi = (LV_DISPINFO *)lParams; 
//	MessageBox(hwnd,TestPaper[0].Tile.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
  // wsprintf(szString, "Item %d", lpdi->item.iItem + 1); 
 
    lstrcpy(lpdi->item.pszText,TestPaper[lpdi->item.iItem].choose[0].Text); 
	 
} 
 
 
ccc(LPARAM lParams) 
{ 
 
	LV_DISPINFO *lpdi = (LV_DISPINFO *)lParams; 
//	MessageBox(hwnd,TestPaper[0].Tile.Text,"Barsdi",MB_OK | MB_ICONEXCLAMATION); 
  // wsprintf(szString, "Item %d", lpdi->item.iItem + 1); 
 
    lstrcpy(lpdi->item.pszText,TestPaper[lpdi->item.iItem].choose[1].Text); 
	 
}