📄 step10.cpp
字号:
//Copyright 1994-1997飞虹软件工作室
//本程序演示如何产生编辑框
#include"..\include\app.h"
#include"..\include\mapp.h"
#include"..\include\mbutton.h"
#include"..\include\medit.h"
#include"..\include\mtext.h"
ifstream MApp::HZ("\\SUNSHINE\\hz.fon",ios::binary); //汉字库
MApp * MApp::Application; //应用标志,上2行必须定义!
class myMButton : public MButton
{
public:
myMButton(int x,int y,int w,int h,char *text,char *idname,char *sta)
: MButton(x,y,w,h,text,idname,sta){}
virtual int F(); //重载F函数,当按钮按下时激活此函数
};
class myMEdit : public MEdit
{
public:
myMEdit(int x,int y,int l,EDITTYPE edittype,char *defedit,char *idname)
: MEdit(x,y,l,edittype,defedit,idname){}
virtual int Condition(int c); //此函数判断所接受的扫描码是否是本编辑框需要的
//返回0:错误输入,1:正确输入
};
main()
{
MApp myapp; //产生一个应用
myapp.Paint("编辑控制");
myapp.Add(*new myMButton(120,80,130,60,"查看编辑框值","B1",
"此按钮查看编辑框的值"));
myapp.Add(*new MText(100,205,"T1","输入用户姓名:\n"));
myapp.Add(*new MText(100,275,"T2","输入用户年龄:\n"));
myapp.Add(*new MEdit(220,200,20,TEXT,"Rober Yang","E1"));
//参数1,2:位置,参数3:最大字符个数,参数4:属性
//一般为TEXT,此项保留,参数5:默认值
//参数6:标志
//下 一个输入数字必须重载虚函数Condition
myapp.Add(*new myMEdit(220,270,3,TEXT,"34","E2"));
return myapp.Process();
}
int myMEdit::Condition(int c)
{
char b=(char)c; //取扫描码低位
if(b>='0'&&b<='9') return 1;
else {cout<<"\a";return 0;} //错误响铃
}
int myMButton::F()
{
char *c1,*c2;
Mouse am(1); //加参数1自动实现Mouse off and on
setfillstyle(SOLID_FILL,BLUE);
bar(300,100,600,140);
//下一非常有用,它用应用标志MApp::Application(类型MApp*)
//的成员函数GetObj(char *标志)返回所给标志实例,但必需进行
//类型转换
c1=((MEdit&)(MApp::Application->GetObj("E1"))).GetEdit();
c2=((MEdit&)(MApp::Application->GetObj("E2"))).GetEdit();
//GetEdit返回编辑缓冲
Write(c1,310,110,WHITE);
Write(c2,500,110,WHITE);
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -