📄 fina.cpp
字号:
else if(PtInRect(&PrevRect,ptMouseOld)&&(!PtInRect(&PrevRect,ptMouseNew)))
{
ReleaseCapture();
CurPosSetting(hPrevIcon,PrevRect);
}
if(PtInRect(&InfoRect,ptMouseNew)&&(!PtInRect(&InfoRect,ptMouseOld)))
{
SetCursor(LoadCursor(hInst,MAKEINTRESOURCE(IDC_HAND)));
SetCapture(hWnd);
CurPosSetting(hInfoOnIcon,InfoRect);
}
else if(PtInRect(&InfoRect,ptMouseOld)&&(!PtInRect(&InfoRect,ptMouseNew)))
{
ReleaseCapture();
CurPosSetting(hInfoIcon,InfoRect);
}
if(PtInRect(&NextRect,ptMouseNew)&&(!PtInRect(&NextRect,ptMouseOld)))
{
SetCursor(LoadCursor(hInst,MAKEINTRESOURCE(IDC_HAND)));
SetCapture(hWnd);
CurPosSetting(hNextOnIcon,NextRect);
}
else if(PtInRect(&NextRect,ptMouseOld)&&(!PtInRect(&NextRect,ptMouseNew)))
{
ReleaseCapture();
CurPosSetting(hNextIcon,NextRect);
}
if(PtInRect(&DelRect,ptMouseNew)&&(!PtInRect(&DelRect,ptMouseOld)))
{
SetCursor(LoadCursor(hInst,MAKEINTRESOURCE(IDC_HAND)));
SetCapture(hWnd);
CurPosSetting(hDelOnIcon,DelRect);
}
else if(PtInRect(&DelRect,ptMouseOld)&&(!PtInRect(&DelRect,ptMouseNew)))
{
ReleaseCapture();
CurPosSetting(hDelIcon,DelRect);
}
if(PtInRect(&HelpRect,ptMouseNew)&&(!PtInRect(&HelpRect,ptMouseOld)))
{
SetCursor(LoadCursor(hInst,MAKEINTRESOURCE(IDC_HAND)));
SetCapture(hWnd);
CurPosSetting(hHelpOnIcon,HelpRect);
}
else if(PtInRect(&HelpRect,ptMouseOld)&&(!PtInRect(&HelpRect,ptMouseNew)))
{
ReleaseCapture();
CurPosSetting(hHelpIcon,HelpRect);
}
if(PtInRect(&EmailRect,ptMouseNew)&&(!PtInRect(&EmailRect,ptMouseOld)))
{
SetCursor(LoadCursor(hInst,MAKEINTRESOURCE(IDC_HAND)));
SetCapture(hWnd);
}
else if(PtInRect(&EmailRect,ptMouseOld)&&(!PtInRect(&EmailRect,ptMouseNew)))
{
ReleaseCapture();
}
if(PtInRect(&HomePageRect,ptMouseNew)&&(!PtInRect(&HomePageRect,ptMouseOld)))
{
SetCursor(LoadCursor(hInst,MAKEINTRESOURCE(IDC_HAND)));
SetCapture(hWnd);
}
else if(PtInRect(&HomePageRect,ptMouseOld)&&(!PtInRect(&HomePageRect,ptMouseNew)))
{
ReleaseCapture();
}
return 0;
default:
return DefWindowProc(hWnd,msg,wParam,lParam);
}
return 0;
}
/*
void MoveInfoWnd()
{
SetWindowPos(hInfoShowWnd,HWND_TOP,0,iTmpY,100,40,SWP_NOSIZE|SWP_SHOWWINDOW);
iTmpY++;
if(iTmpY>=150)
{
KillTimer(hInfoShowWnd,26);
InvalidateRect(hwnd,NULL,1);
UpdateWindow(hwnd);
}
}
*/
BOOL InitProgram(HINSTANCE hInstance)
{
WNDCLASSEX wcex;
HBITMAP hBackBitmap;
HBRUSH hBackBrush;
hBackBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BACK));
hBackBrush=CreatePatternBrush(hBackBitmap);
DeleteObject(hBackBitmap);
memset(&wcex,0,sizeof(WNDCLASSEX));
wcex.cbSize=(sizeof(WNDCLASSEX));
wcex.lpszClassName="Fina";
wcex.hInstance=hInstance;
wcex.lpfnWndProc=(WNDPROC)MainProc;
wcex.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MAIN));
wcex.hbrBackground=(HBRUSH)CreateSolidBrush(RGB(102,255,153));//hBackBrush;
wcex.hCursor=LoadCursor(NULL,IDC_ARROW);
wcex.lpszMenuName=NULL;//MAKEINTRESOURCE(IDM_MAIN);
wcex.cbClsExtra=0;
wcex.cbWndExtra=0;
wcex.style=0;
wcex.hIconSm=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MAIN));
if(!RegisterClassEx(&wcex))
return FALSE;
return TRUE;
}
HWND CALLBACK InitMainWnd(HINSTANCE hInstance)
{
return (CreateWindowEx(0L,
"Fina","Fina",
WS_VISIBLE|WS_MINIMIZEBOX|WS_SYSMENU|CS_OWNDC|CS_HREDRAW|CS_VREDRAW,
100,100,550,360,
NULL,
(HMENU)NULL,
hInstance,
NULL));
}
int _stdcall WinMain(HINSTANCE hInstance,
HINSTANCE hPreInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;
hInst=hInstance;
InitCommonControls();
if(!InitProgram(hInstance))
return 0;
if((hwnd=InitMainWnd(hInstance))==(HWND)0)
{
MessageBeep(0xffffffff);
return 0;
}
ShowWindow(hwnd,SW_SHOW);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
BOOL _stdcall InitTreeWnd(HWND hWnd)
{
HIMAGELIST hImageList;
hTree=CreateWindowEx(WS_EX_CLIENTEDGE,
WC_TREEVIEW,
NULL,
WS_VISIBLE|WS_CHILD|TVS_HASLINES|TVS_LINESATROOT|TVS_SHOWSELALWAYS|TVS_HASBUTTONS,
340,10,200,250,
hWnd,
(HMENU)NULL,
hInst,
NULL);
hImageList=ImageList_Create(IMAGEWIDTH,IMAGEHEIGHT,0,IMAGENUM,0);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_INFO));
idInfo=ImageList_Add(hImageList,hBitmap,NULL);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_CLASS));
idClass=ImageList_Add(hImageList,hBitmap,NULL);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_FACEON));
idFaceOn=ImageList_Add(hImageList,hBitmap,NULL);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_FACEADD));
idFaceAdd=ImageList_Add(hImageList,hBitmap,NULL);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_ROOT));
idRoot=ImageList_Add(hImageList,hBitmap,NULL);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_ME));
idMe=ImageList_Add(hImageList,hBitmap,NULL);
hBitmap=LoadBitmap(hInst,MAKEINTRESOURCE(IDB_CLASSADD));
idClassAdd=ImageList_Add(hImageList,hBitmap,NULL);
if(ImageList_GetImageCount(hImageList)<IMAGENUM)
{
MessageBeep(0xffffffff);
return 0;
}
if(TreeView_SetImageList(hTree,hImageList,idInfo)) MessageBeep(0xffffffff);
LoadString(hInst,IDS_ROOT,cTmpBuff,sizeof(cTmpBuff));
hRootItem=AddOneItem(hTree,TVI_ROOT,TVI_FIRST,cTmpBuff,idRoot);
LoadString(hInst,IDS_INFO,cTmpBuff,sizeof(cTmpBuff));
hInfoItem=AddOneItem(hTree,TVI_ROOT,TVI_LAST,cTmpBuff,idInfo);
LoadString(hInst,IDS_ME,cTmpBuff,sizeof(cTmpBuff));
hMeItem=AddOneItem(hTree,hInfoItem,TVI_LAST,cTmpBuff,idMe);
LoadString(hInst,IDS_CLASSADD,cTmpBuff,sizeof(cTmpBuff));
hClassAddItem=AddOneItem(hTree,hRootItem,TVI_LAST,cTmpBuff,idClassAdd);
ReflashTreeWnd();
return 1;
}
HTREEITEM AddOneItem(HWND hTreeWnd,HTREEITEM hParentItem,HTREEITEM hBrotherItem,LPSTR szText,int iImage)
{
TV_ITEM tvItem;
TV_INSERTSTRUCT tvInsertItem;
HTREEITEM hTreeItem;
tvItem.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_PARAM;
tvItem.pszText=szText;
tvItem.cchTextMax=lstrlen(szText);
tvItem.iImage=iImage;
tvItem.iSelectedImage=iImage;
tvInsertItem.item=tvItem;
tvInsertItem.hParent=hParentItem;
tvInsertItem.hInsertAfter=hBrotherItem;
hTreeItem=(HTREEITEM)SendMessage(hTreeWnd,TVM_INSERTITEM,0,(LPARAM)(LPTV_INSERTSTRUCT)&tvInsertItem);
return(hTreeItem);
}
BOOL DelOneItem(HWND hTreeWnd,HTREEITEM hDelItem)
{
TreeView_DeleteItem(hTree,hDelItem);
return 1;
}
BOOL _stdcall InitOperateIcon(HWND hWnd,HDC hDc)
{
if(!DrawIcon(hDc,23,276,hExitIcon))
return 0;
TextOut(hDc,26,274+34,"Exit",sizeof("Exit")-1);
if(!DrawIcon(hDc,280,276,hHelpIcon))
return 0;
TextOut(hDc,282,274+34,"Help",sizeof("Help")-1);
if(!DrawIcon(hDc,230,276,hDelIcon))
return 0;
TextOut(hDc,226,274+34,"Delete",sizeof("Delete")-1);
if(!DrawIcon(hDc,180,276,hNextIcon))
return 0;
TextOut(hDc,182,274+34,"Next",sizeof("Next")-1);
if(!DrawIcon(hDc,130,276,hInfoIcon))
return 0;
TextOut(hDc,134,274+34,"Info",sizeof("Info")-1);
if(!DrawIcon(hDc,80,276,hPrevIcon))
return 0;
TextOut(hDc,82,274+34,"Prev",sizeof("Prev")-1);
return 1;
}
BOOL _stdcall CurPosSetting(HICON hNewIcon,RECT Rect)
{
HDC hDc;
hDc=GetDC(hwnd);
if(DrawIcon(hDc,Rect.left,Rect.top,hNewIcon))
{
ReleaseDC(hwnd,hDc);
return 0;
}
ReleaseDC(hwnd,hDc);
return 1;
}
BOOL CALLBACK CreateClassInfoWnd(HWND hParentWnd,HDC hParentDC)
{
char str[6][8]={{"学科一"},{"学科一"},{"学科二"},{"学科四"},{"学科五"},{"学科六"}};
int i;
SetBkMode(hParentDC,TRANSPARENT);
SetTextColor(hParentDC,RGB(0,0,0));
TextOut(hParentDC,15,5,"班级名称",lstrlen("班级名称"));
hgClassNameWnd=CreateWindowEx(0L,
"edit",
"班 名",
WS_CHILD|WS_VISIBLE|ES_LEFT,
90,5,170,15,
hParentWnd,
(HMENU)NULL,
hInst,
NULL);
TextOut(hParentDC,100,35,"学科名称",lstrlen("学科名称"));
TextOut(hParentDC,250,35,"学分",lstrlen("学分"));
for(i=0;i<6;i++)
{
TextOut(hParentDC,5,35+(1+i)*25,str[i],lstrlen(str[i]));
hgSubjectNameWnd[i]=CreateWindowEx(0L,
"edit",
"SubjectNameWnd",
WS_VISIBLE|WS_CHILD|ES_LEFT,
60,35+(i+1)*25,170,15,
hParentWnd,
(HMENU)NULL,
hInst,
NULL);
hgSubjectScoreWnd[i]=CreateWindowEx(0L,
"edit",
"X",
WS_VISIBLE|WS_CHILD|ES_LEFT,
250,35+(i+1)*25,30,15,
hParentWnd,
(HMENU)NULL,
hInst,
NULL);
}
// SetWindowText(hgClassNameWnd,"elllfagjae");
return 1;
}
BOOL CALLBACK SaveData(HTREEITEM hParentItem,HTREEITEM hChildItem)
{
char cClassNameSaving[21];
char cSubjectNameSaving[6][21];
char cSubjectScoreSaving[6][3];
float fSubjectScoreSaving[6];
char cStudentNameSaving[11];
char cStudentScoreSaving[6][5];
char cStudentNumSaving[10];
float fStudentScoreSaving[6];
BOOL bIsFaceAddItem=0;
int i,j,k;
char str[21];
//the prev item not exist!
if(hParentItem==hRootItem)
{
hDataFile=_lopen("fina.hui",OF_WRITE);
if(hDataFile==HFILE_ERROR)
return 0;
Edit_GetText(hgClassNameWnd,cClassNameSaving,21);
for(i=0;i<6;i++)
{
Edit_GetText(hgSubjectNameWnd[i],cSubjectNameSaving[i],21);
Edit_GetText(hgSubjectScoreWnd[i],cSubjectScoreSaving[i],3);
}
for(i=0;i<6;i++)
{
fSubjectScoreSaving[i]=String2Float(cSubjectScoreSaving[i]);
/*?????*/ wsprintf(str,"%d",(int)fSubjectScoreSaving[i]);/*???????????????*/
// MessageBox(NULL,str,"value",MB_OK);
}
/*hClassAddItem*/
if((lstrcmp(cClassNameSaving,"ClassNameWnd")!=0)&&hChildItem==hClassAddItem)
{
lstrcpy(classroom[iClassNumber].cClassName,cClassNameSaving);
for(i=0;i<6;i++)
{
lstrcpy(classroom[iClassNumber].classsubject[i].cSubjectName,cSubjectNameSaving[i]);
classroom[iClassNumber].classsubject[i].fSubjectScore=fSubjectScoreSaving[i];
}
if(_llseek(hDataFile,iClassNumber*sizeof(struct classinfo),0)==HFILE_ERROR)
{
MessageBox(NULL,"Error Seek","Information",MB_OK);
}
if(_lwrite(hDataFile,(LPSTR)&classroom[iClassNumber],sizeof(struct classinfo))==HFILE_ERROR)
{
MessageBox(NULL,"Error Write","Information",MB_OK);
}
// lstrcpy(cTmpBuff,cClassNameSaving);
// hClassItem[iClassNumber]=AddOneItem(hTree,hRootItem,TVI_FIRST,cTmpBuff,idClass);
_lclose(hDataFile);
ReflashTreeWnd();//fine
}
else if(hChildItem!=hClassAddItem)//class
{
hDataFile=_lopen("fina.hui",OF_WRITE);
if(hDataFile==HFILE_ERROR)
{
MessageBox(hwnd,"Error Open Fina.hui","Warning...",MB_OK);
return 0;
}
i=GetClassItemNum(hChildItem);
lstrcpy(classroom[i].cClassName,cClassNameSaving);
for(j=0;j<6;j++)
{
lstrcpy(classroom[i].classsubject[j].cSubjectName,cSubjectNameSaving[j]);
classroom[i].classsubject[j].fSubjectScore=fSubjectScoreSaving[j];
// wsprintf(str,"%d",(int)fSubjectScoreSaving[j]);
// MessageBox(NULL,str,"value1",MB_OK);
}
if(_llseek(hDataFile,i*sizeof(struct classinfo),0)==HFILE_ERROR)
{
MessageBox(hwnd,"Error Seek Changing Class","Warning...",MB_OK);
}
if(_lwrite(hDataFile,(LPSTR)&classroom[i],sizeof(struct classinfo))==HFILE_ERROR)
{
MessageBox(NULL,"Error Write","Warning...",MB_OK);
}
if(_lclose(hDataFile)==HFILE_ERROR)
{
MessageBox(hwnd,"Error Close Fina.hui","Warning...",MB_OK);
}
// ReflashTreeWnd();
// UpdateInfoData();
}
}
else//student
{
for(i=0;i<50;i++)
{
if(hChildItem==hFaceAddItem[i])
{
bIsFaceAddItem=1;
break;
}
}
Edit_GetText(hgStudentNameWnd,cStudentNameSaving,11);
Edit_GetText(hgStudentNumWnd,cStudentNumSaving,10);
for(i=0;i<6;i++)
{
Edit_GetText(hgStudentScoreWnd[i],cStudentScoreSaving[i],5);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -