简单控件的应用(二)—学生管理系统

 

源程序下载地址:http://down.qiannao.com/space/file/luowei505050/-6211-7684-7a0b-5e8f/-5b66-751f-7ba1-7406-7cfb-7edf.rar/.page

菜单、时钟、下拉框等控件,应用,对数据进简单操作,写的很简单,没用到数据库。

主要程序代码:

#include "stdafx.h"

#include <windows.h>

#include <windowsx.h>

#include "resource.h"

#include "MainDlg.h"

 

BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

switch(uMsg)

{

HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);

HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);

        HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);

}

 

return FALSE;

}

 

void CALLBACK MyTimeProc(HWND hwnd,UINT message,UINT idTimer,DWORD dwTimer)

{

    SYSTEMTIME stLocal;

    GetLocalTime(&stLocal);

    TCHAR strTime[256];

    wsprintf(strTime,"%i年%i月%i日 %i:%i:%i",stLocal.wYear,stLocal.wMonth,

        stLocal.wDay,stLocal.wHour,stLocal.wMinute,stLocal.wSecond);

    SetDlgItemText(hwnd,IDC_EDITTIME,strTime);

 

}

 

BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)

{

    SetTimer(hwnd,0,1000,MyTimeProc);

return TRUE;

}

 

//============================================================

TCHAR* GetText(HWND hwnd,int id,TCHAR* str)

{

    GetDlgItemText(hwnd,id,str,sizeof(str)+29);

    return(str);

}

//ComboBox-------------------------------

BOOL ExistSame(HWND hwndcombo,TCHAR* str)

{

    int i;

    TCHAR str1[32];

    BOOL BFOUND=FALSE;

    int icount=ComboBox_GetCount(hwndcombo);

    if(0!=icount) //ComboBox_GetCurSel(hwndcombo)!=CB_ERR

    {

        for(i=0;i<icount;i++)

        {

            ComboBox_GetLBText(hwndcombo,i,str1);

            if(lstrcmp(str,str1)==0)

            {

                BFOUND=TRUE;

                break;

            }

            else BFOUND=FALSE;

        }

        return BFOUND;

    }

    else return BFOUND;

}

 

BOOL IsTextNull(HWND hwnd,int id)

{

    TCHAR str[32];

    //TCHAR str1[32]="";

    GetText(hwnd,id,str);

    if(!*str)

        return TRUE;

    else

        return FALSE;

}

 

int SearchItem(HWND hwndcombo,TCHAR* str)

{

    TCHAR str1[32];

    int icount=ComboBox_GetCount(hwndcombo);

    int i;

    int FLAG=-1;

    if(0!=icount)

    {

        for(i=0;i<icount;i++)

        {

            ComboBox_GetLBText(hwndcombo,i,str1);

            if(0==lstrcmp(str,str1))

            {

                FLAG=i;

                break;

            }

            else FLAG=-1;

        }

        return FLAG;

    }

    else return FLAG;

}

//ListBox-------------------------------

BOOL LExistSame(HWND hwndlist,TCHAR* str)

{

    int i;

    TCHAR str1[32];

    BOOL BFOUND=FALSE;

    int icount=ListBox_GetCount(hwndlist);

    if(0!=icount) //ListBox_GetCurSel(hwndlist)!=CB_ERR

    {

        for(i=0;i<icount;i++)

        {

            ListBox_GetText(hwndlist,i,str1);

            if(lstrcmp(str,str1)==0)

            {

                BFOUND=TRUE;

                break;

            }

            else BFOUND=FALSE;

        }

        return BFOUND;

    }

    else return BFOUND;

}

 

BOOL LIsTextNull(HWND hwnd,int id)

{

    TCHAR str[32];

    //TCHAR str1[32]="";

    GetText(hwnd,id,str);

    if(!*str)

        return TRUE;

    else

        return FALSE;

}

 

int LSearchItem(HWND hwndlist,TCHAR* str)

{

    TCHAR str1[32];

    int icount=ListBox_GetCount(hwndlist);

    int i;

    int FLAG=-1;

    if(0!=icount)

    {

        for(i=0;i<icount;i++)

        {

            ListBox_GetText(hwndlist,i,str1);

            if(0==lstrcmp(str,str1))

            {

                FLAG=i;

                break;

            }

            else FLAG=-1;

        }

        return FLAG;

    }

    else return FLAG;

}

 

//===================================================

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

switch(id)

{

case IDC_ADDSTU:

            {

                TCHAR str[32];

                HWND hwndcomboname=GetDlgItem(hwnd,IDC_COMBONAME);

                if(!IsTextNull(hwnd,IDC_EDITADD))

                {

                    GetText(hwnd,IDC_EDITADD,str);

                    if(ExistSame(hwndcomboname,str))

                    {

                        MessageBox(hwnd,TEXT("列表中已有此记录!"),TEXT("提示"),MB_OK);

                    }

                    else

                    {

                        ComboBox_InsertString(hwndcomboname,-1,TEXT(str));

                        SetDlgItemText(hwnd,IDC_EDITADD,TEXT(""));

                    }

                }

                else

                {

                    MessageBox(hwnd,TEXT("请输入要添加的记录!"),TEXT("提示"),MB_OK);

                }

            }break;

        case IDC_DELSTU:

            {

                TCHAR str[32];

                //TCHAR str1[32];

                HWND hwndcomboname=GetDlgItem(hwnd,IDC_COMBONAME);

                if(!IsTextNull(hwnd,IDC_EDITDEL))

                {

                    GetText(hwnd,IDC_EDITDEL,str);

                    int i=SearchItem(hwndcomboname,str);

                    if(-1==i)

                    {

                        MessageBox(hwnd,TEXT("列表中没有此项记录!"),TEXT("回复"),MB_OK);

                    }

                    else

                    {

                        ComboBox_DeleteString(hwndcomboname,i);

                        MessageBox(hwnd,TEXT("已删除了此记录!"),TEXT("删除结果"),MB_OK);

                        SetDlgItemText(hwnd,IDC_EDITDEL,TEXT(""));

                    }

                }

                else

                {

                    MessageBox(hwnd,TEXT("请输入要删除的记录!"),TEXT("提示"),MB_OK);

                }

            }break;

        case IDC_SEARCHSTU:

            {

                HWND hwndcomboname=GetDlgItem(hwnd,IDC_COMBONAME);

                if(!IsTextNull(hwnd,IDC_EDITSEARCH))

                {

                    TCHAR str[32];

                    GetText(hwnd,IDC_EDITSEARCH,str);

                    int i=SearchItem(hwndcomboname,str);

                    if(-1==i)

                    {

                        MessageBox(hwnd,TEXT("没有此项记录!"),TEXT("查询结果"),MB_OK);

                    }

                    else

                    {

                        ComboBox_SetCurSel(hwndcomboname,i);

                        MessageBox(hwnd,TEXT("找到了此记录!"),TEXT("查找结果"),MB_OK);

                        SetDlgItemText(hwnd,IDC_EDITSEARCH,TEXT(""));

                    }

                }

                else

                {

                    MessageBox(hwnd,TEXT("请输入要查找的记录!"),TEXT("提示"),MB_OK);

                }

            }break;

        case IDC_ALTERSTU:

            {

                HWND hwndcomboname=GetDlgItem(hwnd,IDC_COMBONAME);

                int locate=-1;

                if(!IsTextNull(hwnd,IDC_EDITSNAME))

                {

                    TCHAR str1[32];

                    GetText(hwnd,IDC_EDITSNAME,str1);

                    locate=SearchItem(hwndcomboname,str1);

                    if(-1==locate)

                    {

                        MessageBox(hwnd,TEXT("没有此项记录!"),TEXT("回复"),MB_OK);

                    }

                    else

                    {

                        ComboBox_DeleteString(hwndcomboname,locate);

                        SetDlgItemText(hwnd,IDC_EDITDEL,TEXT(""));

                        if(!IsTextNull(hwnd,IDC_EDITDNAME))

                        {

                            TCHAR str2[32];

                            GetText(hwnd,IDC_EDITDNAME,str2);

                            ComboBox_InsertString(hwndcomboname,locate,str2);

                            ComboBox_SetCurSel(hwndcomboname,locate);

                            MessageBox(hwnd,TEXT("已修改此项记录!"),TEXT("修改结果"),MB_OK);

                            SetDlgItemText(hwnd,IDC_EDITDNAME,TEXT(""));

                            SetDlgItemText(hwnd,IDC_EDITSNAME,TEXT(""));

                        }

                        else

                        {

                            MessageBox(hwnd,TEXT("请输入要修改之后的记录!"),TEXT("提示"),MB_OK);

                        }

                    }

                }

                else

                {

                    MessageBox(hwnd,TEXT("请输入要修改的记录!"),TEXT("提示"),MB_OK);

                }

                

            }break;

 

///=================================================================

        case IDC_CHECKLOOK:

            {

                HWND hwndCheck=GetDlgItem(hwnd,IDC_CHECK1);

                int checkState=Button_GetCheck(hwndCheck);

                if(BST_CHECKED==checkState)

                {

                    MessageBox(hwnd,TEXT("复选框被选中"),TEXT("回复"),MB_OK);

                }

                if(BST_UNCHECKED==checkState)

                {

                    MessageBox(hwnd,TEXT("复选框没有被选中"),TEXT("回复"),MB_OK);

                }

            }break;

            case IDC_CHECKSETTING:

            {

                HWND hwndCheck=GetDlgItem(hwnd,IDC_CHECK1);

                int checkState=Button_GetCheck(hwndCheck);

                if(BST_CHECKED==checkState)

                {

                    Button_SetCheck(hwndCheck,BST_UNCHECKED);

                    MessageBox(hwnd,TEXT("复选框设为了未选中状态"),TEXT("回复"),MB_OK);

                }

                if(BST_UNCHECKED==checkState)

                {

                    Button_SetCheck(hwndCheck,BST_CHECKED);

                    MessageBox(hwnd,TEXT("复选框设为了选中状态"),TEXT("回复"),MB_OK);

                }

            }break;

 

///=========================================================

            case IDC_LADDSTU:

            {

                TCHAR str[32];

                HWND hwndlist=GetDlgItem(hwnd,IDC_LIST1);

                if(!LIsTextNull(hwnd,IDC_LEDITADD))

                {

                    GetText(hwnd,IDC_LEDITADD,str);

                    if(LExistSame(hwndlist,str))

                    {

                        MessageBox(hwnd,TEXT("列表中已有此记录!"),TEXT("提示"),MB_OK);

                    }

                    else

                    {

                        ListBox_InsertString(hwndlist,-1,TEXT(str));

                        SetDlgItemText(hwnd,IDC_LEDITADD,TEXT(""));

                    }

                }

                else

                {

                    MessageBox(hwnd,TEXT("请输入要添加的记录!"),TEXT("提示"),MB_OK);

                }

            }break;

 

            case IDC_LDELSTU:

            {

                HWND hwndlist=GetDlgItem(hwnd,IDC_LIST1);

                int i=ListBox_GetCurSel(hwndlist);

                ListBox_DeleteString(hwndlist,i);

                //MessageBox(hwnd,TEXT("已删除了此记录!"),TEXT("删除结果"),MB_OK);

            }break;

            case ID_MENUITEMOPEN:

            {

                MessageBox(hwnd,TEXT("[打开]菜单项被调用!"),TEXT("菜单响应"),MB_OK);

            }break;

            case ID_MENUITEMQUIT:

            {

                MessageBox(hwnd,TEXT("[退出]菜单项被调用!"),TEXT("菜单响应"),MB_OK);

                EndDialog(hwnd,IDD_MAIN);

            }break;

default:

        break;

}

}

 

 

 

void Main_OnClose(HWND hwnd)

{

EndDialog(hwnd, 0);

}

原文地址:https://www.cnblogs.com/luowei010101/p/2170158.html