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