資源簡介
簡介:在非GUI環境下做的簡易電子表格,功能比較簡單,實現了表格的保存、編輯、基本統計等操作。內容:源代碼、文檔開發工具:VC6.0注:這個是我做課程設計的內容,拿出來跟大家分享,做得不好,還望切磋指教郵箱:yudonglee@yahoo.cn

代碼片段和文件信息
#include?“Button.h“
#include?
Button::Button(?)
{
HANDLE?hIn?=?GetStdHandle(STD_INPUT_HANDLE);?
if?(hIn?==?INVALID_HANDLE_VALUE)?
????{
???????MessageBox(NULL?TEXT(“GetStdHandle?fail?in?Button“)
??????????TEXT(“Console?Error“)?MB_OK);
????}
SMALL_RECT?srRect;
SetRect(?srRect?6?4?13?4?);
Set(?hIn?BUTTON_MSG?srRect?“【按鈕】“?BUTTON_IMAGE?);
}
//設置按鈕信息
int?Button::Set(?HANDLE?hIn?int?msg?SMALL_RECT?srRect?char?*?str?WORD?attribute?)
{
life?=?0;
state?=?0;
message?=?msg;
hInput?=?hIn;?
SetRect(?area?srRect?);
text?=?str;
background?=?attribute;???
return?true;
}
//根據字符串str長度重新設置按鈕大小
int?Button::Reset(?char?*?str?)
{
bool?mode?=?0;
if(?!str?)?{
return?false;
}
if(?life?==?1?)?{
???? Close(?);
mode?=?1;
}
int?len?=?strlen(?str?);
SMALL_RECT?srRect?=?{?area.Left?area.Top?area.Left?+?len?-?1?area.Bottom?};
SetRect(?area?srRect?);
text?=?str;
????if(?mode?==?1?)?{
Open(?);
}
return?true;
}
//移動按鈕,改變其位置
int?Button::Move(?int?distance?bool?mode?)
{
int?temp?=?0;
if(?life?==?1?)?{
Close(?);
temp?=?1;
}
if(?mode?==?1?)
{
area.Left?+=?distance;
area.Right?+=?distance;
}
else
{
area.Top??+=?distance;
area.Bottom?+=?distance;
}
if(?temp?==?1?)?{
Open(?);
}
return?true;
}
//打開按鈕
int?Button::Open(?)
{
life?=?1;
state?=?1;
WriteCharsAt(?hOutput?text?area?);
FillAttribute(?area?background);
return?true;
}
//關閉按鈕
int?Button::Close(?)
{
life?=?0;
state?=?0;
????FillCharacter(?area?“?“?2?);
FillAttribute(?area?OLDBACKGROUND?);
return?true;
}
/////////////////////////////??輸入處理??/////////////////////////////////////////
int?Button::DealInput(?INPUT_RECORD?input?)
{
if(?life?==?0?)?{
return?NOMESSAGE;
}
switch(input.EventType)?
????{?
???????case?KEY_EVENT:?//?keyboard?input???????????????????
????return?DealKeyEvent(?input.Event.KeyEvent?);?
???????case?MOUSE_EVENT:?//?mouse?input? ??
????return?DealMouseEvent(?input.Event.MouseEvent?);?
???default:??????????????
????????????return?NOMESSAGE;
}
????return?NOMESSAGE;
}
int?Button::DealKeyEvent(?KEY_EVENT_RECORD?kRecord?)
{
if(?life?==?0?)?{
return?NOMESSAGE;
}
return?NOMESSAGE;
}
int?Button::DealMouseEvent(?MOUSE_EVENT_RECORD?mRecord?)
{
if(?life?==?0?)?{
return?NOMESSAGE;
}
if(?!IsInRect(area?mRecord.dwMousePosition)?)?{
if(?state?)?{
???????????FillAttribute(?area?background?);
???CloseButton(?);
}
return?NOMESSAGE;
}
????if(?state?==?0?)?{
?OpenButton(?);
}
if(?MouseAction(mRecord)?==?LBUTTON?)?{
????return?message;
}
????return?NOMESSAGE;
}
//////////////////////////////??打開,關閉按鈕??//////////////////////////////////
int?Button::OpenButton(?)
{
if(?life?==?0?)?{
return?false;
}
FillAttribute(?area?BACKGROUND_GREEN?|?BACKGROUND_INTENSITY);
WriteCharsAt(?hOutput?text?area?);
state?=?1;
return?true;
}
i
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2372??2007-03-13?19:03??簡易電子表格\Double_SpreadSheetCell.h
?????文件???????7767??2007-03-12?13:47??簡易電子表格\SpreadSheet.cpp
?????文件???????1983??2007-03-13?19:03??簡易電子表格\SpreadSheet.h
?????文件??????22601??2007-03-12?13:41??簡易電子表格\SpreadSheetApp.cpp
?????文件???????2457??2007-03-11?22:54??簡易電子表格\SpreadSheetApp.h
?????文件????????709??2007-03-04?11:35??簡易電子表格\SpreadSheetCell.cpp
?????文件????????626??2007-03-13?19:03??簡易電子表格\SpreadSheetCell.h
?????文件???????1409??2007-02-27?16:53??簡易電子表格\String_SpreadSheetCell.cpp
?????文件????????815??2007-02-27?16:52??簡易電子表格\String_SpreadSheetCell.h
?????文件???????2028??2007-03-13?19:15??簡易電子表格\TableFile.cpp
?????文件???????1036??2007-03-13?19:03??簡易電子表格\TableFile.h
?????文件??????36842??2007-03-12?00:11??簡易電子表格\TableView.cpp
?????文件???????4154??2007-03-12?23:40??簡易電子表格\TableView.h
?????文件???????2437??2007-03-13?19:18??簡易電子表格\test.cpp
?????文件????????692??2007-03-13?19:03??簡易電子表格\CharacterFun.h
?????文件???????3877??2007-03-13?19:15??簡易電子表格\CharacterFun.cpp
?????文件???????1290??2007-03-09?01:04??簡易電子表格\TableMessage.h
?????文件???????3191??2007-03-13?19:03??簡易電子表格\Button.cpp
?????文件????????993??2007-03-13?19:03??簡易電子表格\Button.h
?????文件??????14161??2007-03-13?19:03??簡易電子表格\Draw.cpp
?????文件???????2743??2007-03-13?19:03??簡易電子表格\Draw.h
?????文件???????4773??2007-03-13?19:15??簡易電子表格\Menu.cpp
?????文件????????529??2007-03-13?19:03??簡易電子表格\Menu.h
?????文件???????3934??2007-03-13?19:15??簡易電子表格\OutputBox.cpp
?????文件????????657??2007-03-13?19:03??簡易電子表格\OutputBox.h
?????文件???????5097??2007-03-13?19:15??簡易電子表格\DirectionButton.cpp
?????文件????????778??2007-03-13?19:03??簡易電子表格\DirectionButton.h
?????文件???????1196??2007-03-13?19:15??簡易電子表格\InputBox.cpp
?????文件????????288??2007-03-13?19:03??簡易電子表格\InputBox.h
?????文件???????1954??2007-03-13?19:15??簡易電子表格\MainMenu.cpp
............此處省略11個文件信息
- 上一篇:基于C語言的錄音播放程序--源代碼
- 下一篇:MFC開發的數學公式編輯器
評論
共有 條評論