300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言编写图形登录窗口 C语言实现图形界面登陆窗口

c语言编写图形登录窗口 C语言实现图形界面登陆窗口

时间:2018-12-13 23:21:45

相关推荐

c语言编写图形登录窗口 C语言实现图形界面登陆窗口

#include#define LEN_A 20//账户长度

#define LEN_P 10//密码长度

typedef struct Account

{

char name[20];

long int password;

}InAccount;

typedef struct inputAPword

{

InAccount account;

int flag;

}InputAPword;

void inputbox(void);

void cursor(void);

void cursor2(void);

void name(void);

int MouseEvent(IMAGE);

InputAPword menu2(void)

{

initgraph(640,480);//初始化图形界面

IMAGE Img1;//声明一个IMAGE变量

IMAGE Img2(640,480);//声明一个IMAGE变量

char input1[LEN_A];//用于接收输入的字符串

char input2[LEN_P];//用于接收输入的字符串

int j;

InputAPword account;

loadimage(&Img1,_T("girl4.bmp"));//加载图片

SetWorkingImage(&Img1);//设置当前绘图设备为Img1

setlinestyle(PS_SOLID, NULL, 2);//设置线的样式

setfont(64,0,"华文隶书");//设置字体的样式和大小

settextcolor(RGB(134,0,255));//设置字体的颜色

setlinecolor(RGB(16,16,16));//设置线的颜色

setbkmode(TRANSPARENT);//设置字体的背景为透明

outtextxy(50,50,_T("A 用户登录"));//显示汉字

settextcolor(RGB(0,0,0));//设置字体的颜色

rectangle(50,150,350,340);//画矩形框

rectangle(254,515,302,585);//画一个矩形框

fillrectangle(100,280,173,315);//登录框

fillrectangle(223,280,296,315);//取消框

SetWorkingImage();//恢复当前绘图设备为默认设备

putimage(0,0,&Img1);//显示图片

do{

name();//显示文字信息

setbkmode(OPAQUE);//设置字体背景为默认

setbkcolor(RGB(255,255,255));

cursor();//显示输入框以及闪烁的光标

for(j=0;LEN_A;j++){//限制输入,最多允许输入LNE位数据

input1[j]=getch();//读取键盘输入的字符并存入数组

outtextxy(161+8*j,193,input1[j]);//将字符显示在图片上

if(input1[j]==8){//按删除键时的操作

input1[j-1]=0;//字符数组内容删除一位

outtextxy(161+8*j,193," ");//将字符遮掩

outtextxy(161+8*(j-1),193," ");//将字符遮掩

j -=2;//数组坐标后退两个

if(j<=-1){//当回退到头时的处理

input1[0]=\0;//对数组进行标记

break;//退出本次输入

}

continue;

}else if(input1[j]==13){//按回车键时的处理

input1[j]=\0;//将数组的最后一个数据标记为\0

if(j==0){//无任何输入,且按下回车时的处理

outtextxy(161+8*j,193," ");//将回车显示的字符遮掩

outtextxy(161+8*(j-1),193," ");//将回车显示的字符遮掩

input1[0]=\0;//对数组进行进行标记

}

break;//退出本次输入

}

}

setbkmode(OPAQUE);//设置字体背景为默认

setbkcolor(RGB(255,255,255));

cursor2();//光标聚到下一个输入框的开始位置

for(j=0;j=100&&m.x<=173)&&(m.y>=280&&m.y<=315)){//对鼠标的X,Y坐标进行判断

SetWorkingImage(&Img);//设置当前的绘图设备

setlinestyle(PS_SOLID,NULL,2);

setlinecolor(RGB(252,15,0));//线的颜色,红色

settextcolor(RGB(252,15,0));//字体颜色,红色

setfont(25,0,"宋体");//设置字体的大小和样式

setbkmode(TRANSPARENT);

fillrectangle(100,280,173,315);//登录框

outtextxy(111,285,_T("登录"));

SetWorkingImage();//恢复当前的绘图设备

putimage(0,0,&Img);//显示当前的图画

}else if((m.x>=223&&m.x<=296)&&(m.y>=280&&m.y<=315)){//对鼠标的X,Y坐标进行判断

SetWorkingImage(&Img);//设置当前的绘图设备

setlinestyle(PS_SOLID,NULL,2);

setlinecolor(RGB(252,15,0));//线的颜色,红色

settextcolor(RGB(252,15,0));//字体颜色,红色

setfont(25,0,"宋体");//设置字体的大小和样式

setbkmode(TRANSPARENT);

fillrectangle(223,280,296,315);//取消框

outtextxy(234,285,_T("取消"));

SetWorkingImage();//恢复当前的绘图设备

putimage(0,0,&Img);//显示当前的图画

}else{

SetWorkingImage(&Img);//设置当前的绘图设备

setlinecolor(RGB(134,0,255));//设置线的颜色

settextcolor(RGB(134,0,255));//字体颜色,黑色

fillrectangle(100,280,173,315);//登录框

fillrectangle(223,280,296,315);//取消框

setbkcolor(RGB(255,255,255));///字体背景色,白色

setfont(25,0,"宋体");//设置字体的大小和样式

outtextxy(111,285,_T("登录"));

outtextxy(234,285,_T("取消"));

SetWorkingImage();//恢复当前绘图设备为默认设备

putimage(0,0,&Img);

}

break;

}

case WM_LBUTTONDBLCLK://鼠标双击左键时的信息

{

if((m.x>=100&&m.x<=173)&&(m.y>=280&&m.y<=315)){//登陆按键范围

value=1;

}else if((m.x>=223&&m.x<=296)&&(m.y>=280&&m.y<=315)){//取消按键范围

value=2;

}

break;

}

}

}

return value;//返回值

}

void main()

{

long int a;

InputAPword account;

account = menu2();

a = account.account.password;

system("cls");

printf("这是测试的密码:%ld",a);

printf("%s",account.account.name);

getchar();

getchar();

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。