⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stumanage.c

📁 这是我自己做的C学生管理系统
💻 C
字号:
#include <stdio.h>
#include <windows.h>
#include "resource.h"
#include "OutFile.h"
#include <stdlib.h>
#include <string.h>
#include "DlgWndProc.h"
#define WINNAME "学生管理系统"


int flag=0;
stuNode *SearNoInfo=NULL;
HINSTANCE hInst;//声明应用程序实例

//消息处理函数
long WndProc(HWND hWnd, int message, int wParam, int lParam)
{     
	int wNotifyCode = HIWORD(wParam); 
	int wID = LOWORD(wParam);         
	HWND hwndCtl = (HWND) lParam;     
	PAINTSTRUCT ps;
	HDC hdc;

	stuNode *pHead=NULL;
	int y;
	switch (message) 
	{
		case WM_PAINT:
		
			hdc=BeginPaint(hWnd,&ps);
			pHead=Read();
			if(pHead==NULL)
			{
				MessageBox(hWnd,"文件为空或不存在!",WINNAME,MB_OK);
				break;
			}
			y=0;
			if(flag==0)
				Output(hdc,pHead);
			else
				Output(hdc,SearNoInfo);
			EndPaint(hWnd,&ps);
			break;
		case WM_DESTROY:
			PostQuitMessage(0);
			break;
		case WM_COMMAND:
			switch(wID)
			{
		case ID_MENU_ADDSTU://增加学生
				DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG_ADD),hWnd,(DLGPROC)WndDlgAddProc);
				break;
			case ID_MENU_DEL://删除信息
				DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG_DEL),hWnd,(DLGPROC)WndDlgDelProc);
				break;
			case ID_SEARCH_NO://按学号查找
				DialogBox(NULL,MAKEINTRESOURCE(IDD_SEARCH_NO),hWnd,(DLGPROC)WndDlgSearNoProc);
				break;
			case ID_SEARCH_NAME://按姓名查找
				DialogBox(NULL,MAKEINTRESOURCE(IDD_SEARCH_NAME),hWnd,(DLGPROC)WndDlgSearNameProc);
				break;
			case ID_SEARCH_SEX://按性别查找
				DialogBox(NULL,MAKEINTRESOURCE(IDD_SEARCH_SEX),hWnd,(DLGPROC)WndDlgSearSexProc);
				break;
			case ID_MENU_MODIFY:  //修改信息
				DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG_MODIFY),hWnd,(DLGPROC)WndDlgModProc);
				break;
			case ID_MENU_EXIT:  //退出系统
				{
					int i;
					i=MessageBox(hWnd,"是否要退出现在使用的系统?",WINNAME,MB_OKCANCEL|MB_ICONINFORMATION);
					if(i==IDOK)
					{
						Release(pHead);
						PostQuitMessage(0);
					}
				}
				break;
			case ID_MENU_ABOUT://关于
				DialogBox(NULL,MAKEINTRESOURCE(IDD_DIALOG_ABOUT),hWnd,(DLGPROC)WndDlgAboutProc);
				break;
			case ID_MENU_SEEALL://查看所有学生信息
				pHead=Read();
				if(pHead==NULL)
				{
					MessageBox(hWnd,"文件不存在!",WINNAME,MB_OK);
					break;
				}
				y=0;
				hdc=GetDC(hWnd);
				flag=0;
				InvalidateRect(hWnd,NULL,TRUE);
				break;
			}
			break;
		default:
			return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain( HINSTANCE hInstance,
             HINSTANCE hPrevInstance,
             char	*     lpCmdLine,
             int       nCmdShow)
{
    MSG msg;
    HWND hWnd;
    // 1. 注册窗口类	
	WNDCLASSEX wcex;
	wcex.cbSize         = sizeof(WNDCLASSEX); // 此结构体的大小 
	wcex.style			= CS_OWNDC; 
	wcex.lpfnWndProc	= (WNDPROC)WndProc;
	wcex.cbClsExtra		= 0;
	wcex.cbWndExtra		= 0;
	wcex.hInstance		= hInstance;
	wcex.hIcon			= NULL; 
	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
	wcex.hbrBackground	= (HBRUSH)COLOR_WINDOWFRAME;
	wcex.lpszMenuName	= MAKEINTRESOURCE(IDR_MENU1);
	wcex.lpszClassName	= "SDK";
	wcex.hIconSm		= NULL; 
	RegisterClassEx(&wcex);//注册窗口类

    // 2. 创建窗口
    hWnd = CreateWindow( "SDK",
                                WINNAME,
                                WS_OVERLAPPEDWINDOW,
                                  50,50,
                                 800,600, 
                                  NULL, 
                                  NULL, 
                                  hInstance, 
                                  NULL);
	//创建一个有模式对话框
	DialogBox(hInst,MAKEINTRESOURCE(IDD_DIALOG_WELCOME),NULL,(DLGPROC)DlgProc_Welcome);

    // 3. 显示窗口
    ShowWindow(hWnd, SW_SHOW);

    // 4. 消息循环
	while(GetMessage(&msg, NULL, 0, 0)) 
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}

	return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -