资源简介
简介:在非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开发的数学公式编辑器
相关资源
- 学生选课管理系统C++
- C和C++写的DBMS数据库
- 操作系统课程设计报告模拟文件系统
- 面向对象的编程技术课程设计VC++_MF
- C++制作加密解密系统
- 模拟段式存储管理的分配与回收
- C++课程设计报告人事管理系统及全部
- 数据结构表达式求值,c语言版,能计
- C语言课程设计_学生选修课系统
- 课程设计:C++学籍管理系统
- C航空订票系统-课程设计
- C语言课程设计C语言课程设计.
- C++课程设计分数类
- c语言课程设计迷宫求解.zip
- c++课程设计 职工工资管理系统
- C语言课程设计五子棋游戏带源代码
- 银行账户管理系统c++)
- 基于Huffman树的文件压缩C语言源码数据
- 数据结构课程设计 排序综合(C++)
- C语言 机房收费管理系统
- 网络安全课程设计之漏洞扫描
- 操作系统课程设计(最佳适应算法的
- c语言课程设计通讯录管理系统设计报
- 马的极小满覆盖源代码C++编写
- C/C++课程设计-学生成绩管理系统
- C++课程设计飞机订票系统
- 数据结构课程设计CC++描述[阮宏一][程
- c语言课程设计图书信息管理系统
- 数据结构课程设计学生成绩管理系统
- c++课程设计日期格式处理
评论
共有 条评论