📄 stumanage.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 + -