用C++封装了一个简单的“按钮”类
功能简单,仅仅实现按钮的按下和松开的效果,按钮具体实现什么功能就由开发者自己定义了
1 #include<graphics.h>
2 #include<iostream>
3 #include <conio.h>
4 using namespace std;
5 class botton{
6 public:
7 int x,y,w,h;//起点坐标,宽度和高度
8 char s[100];//显示文字
9 botton(int xx,int yy,int ww,int hh,char s[])//建立按钮
10 {
11 x=xx;
12 y=yy;
13 w=ww;
14 h=hh;
15 setlinestyle(PS_SOLID,NULL,1);
16 setcolor(WHITE);
17 line(x,y,x+w,y);
18 line(x,y,x,y+h);
19 setcolor(BLACK);
20 line(x+w,y+h,x+w,y);
21 line(x+w,y+h,x,y+h);
22
23 outtextxy(x+2,y+2,s);
24 }
25 void LBOTTON_DOWN()//鼠标左键按下
26 {
27 setlinestyle(PS_SOLID,NULL,1);
28 setcolor(BLACK);
29 line(x,y,x+w,y);
30 line(x,y,x,y+h);
31 setcolor(WHITE);
32 line(x+w,y+h,x+w,y);
33 line(x+w,y+h,x,y+h);
34 }
35 void LONTTON_UP()//鼠标左键松开
36 {
37 setlinestyle(PS_SOLID,NULL,1);
38 setcolor(WHITE);
39 line(x,y,x+w,y);
40 line(x,y,x,y+h);
41 setcolor(BLACK);
42 line(x+w,y+h,x+w,y);
43 line(x+w,y+h,x,y+h);
44 }
45 };
46 int main()
47 {
48 initgraph(600,600);
49 setbkcolor(RGB(230,230,230));
50 cleardevice();
51 setcolor(BLACK);
52 botton b1(100,100,35,20,"文件");
53 getch();
54 b1.LBOTTON_DOWN();
55 getch();
56 b1.LONTTON_UP();
57 getch();
2 #include<iostream>
3 #include <conio.h>
4 using namespace std;
5 class botton{
6 public:
7 int x,y,w,h;//起点坐标,宽度和高度
8 char s[100];//显示文字
9 botton(int xx,int yy,int ww,int hh,char s[])//建立按钮
10 {
11 x=xx;
12 y=yy;
13 w=ww;
14 h=hh;
15 setlinestyle(PS_SOLID,NULL,1);
16 setcolor(WHITE);
17 line(x,y,x+w,y);
18 line(x,y,x,y+h);
19 setcolor(BLACK);
20 line(x+w,y+h,x+w,y);
21 line(x+w,y+h,x,y+h);
22
23 outtextxy(x+2,y+2,s);
24 }
25 void LBOTTON_DOWN()//鼠标左键按下
26 {
27 setlinestyle(PS_SOLID,NULL,1);
28 setcolor(BLACK);
29 line(x,y,x+w,y);
30 line(x,y,x,y+h);
31 setcolor(WHITE);
32 line(x+w,y+h,x+w,y);
33 line(x+w,y+h,x,y+h);
34 }
35 void LONTTON_UP()//鼠标左键松开
36 {
37 setlinestyle(PS_SOLID,NULL,1);
38 setcolor(WHITE);
39 line(x,y,x+w,y);
40 line(x,y,x,y+h);
41 setcolor(BLACK);
42 line(x+w,y+h,x+w,y);
43 line(x+w,y+h,x,y+h);
44 }
45 };
46 int main()
47 {
48 initgraph(600,600);
49 setbkcolor(RGB(230,230,230));
50 cleardevice();
51 setcolor(BLACK);
52 botton b1(100,100,35,20,"文件");
53 getch();
54 b1.LBOTTON_DOWN();
55 getch();
56 b1.LONTTON_UP();
57 getch();
58 }
博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/
对文章有啥看法或建议,可以评论或发电子邮件到ma6174@163.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架