由于此地板涉嫌违规,因此它将折叠在系统中以隐藏此地板并显示此地板
一.按钮显示原理
一般来说,按钮有按下和弹起两种状态,其原理很简单,其实就是通过改变按钮边框的颜色来产生视觉错觉,达到立体效果,让屏幕上真的有凸有凹的按钮
二.程序的实现
主要包括按钮结构的含义及其相关的一些函数。
1 .结构定义typedefstruetButtonDef{
短x 1;
短y1;
短x 2;
短y1;
}button
(X1,Y1 )和(X2,Y2 )用于分别通过按钮左上角和右下角的位置坐标来确定按钮的位置和大小。
为了程序需要,必须定义一些常用的量。
#defineSTART-XbtX1
#defineSTART-YbtY1
#defineEND-XbtX2
#defineEND-YbtY2
#definegrap1(grap是按钮边框的宽度) )。
#defineButtonWhite0x0f
#defineButtonBlack0x00
2 .函数定义
)1) voidbuttondefine(Button*Bt,ShortX1,ShortY,shortX2,shortY2 ) ) ) ) ) ) ) ) ) ) ) )。
此函数用于定义名为bt的按钮的大小和位置。 左上角和右下角的坐标为(X1,Y1 ),(X2,Y2 )。
START-X=X1;
开始- y=y1;
END-X=X2;
END-Y=Y2;
)2)将voidreleasebutton(Button*Bt )转换为
此函数显示按钮弹起时的状态。
)3) putdownbutton(button*Bt )此函数显示按钮被按下时的状态。
使用上述函数定义按钮,显示按钮弹起、按下状态的程序如下所示。 该程序在屏幕上显示7个按钮,按1~7个数字就会弹出某个按钮,非常方便。 如果需要跳起某个数字,要特别注意按哪个数字。 如果Gsap很大,每个按钮的立体感都像键盘上的键一样强,感兴趣的读者可以在实践中操作。 然后,把这个
button.c
#包含
#包含
#包含
#包含
#包含
#include'button.h '
#defineSTART-Xbt-x1
#defineSTART-Ybt-y1
#defineEND-Xbt-x2
#defineEND-Ybt-y2
#defineGrap1
#defileScreenBkColor2
#definerelease-color7
#defineput-color3
#defineButtonWhite0x0f
#defineButtonBlack0x00
#definedelay50000
#definedis10
voidbuttondefine (button * Bt.shout.short.short );
voidreleasebutton(Button*Bt;
voidputdownbutton(button*Bt );
语音延迟时间(longint );
main () )
{
int gdriver=detect.gmode=VGA hi :
button*but,*but1.*but2.*bt,*but3,*but4,*but5,*but6,*but7;
英寸;
initgraph(gdriver,gmode,' d:(TC ) );
setcolor (屏幕背景颜色;
setbkcolor(2;
clrscr (;
Buttondefine(but,50,50,600,400 );
putdownbutton(but;
button define (but1,150,200,200,250 );
button define (but2,200 dis,200,250 dis,250 );
button define (but3,2502 * dis,200,3002 * dis,250 );
button define (but4,3003 * dis,200,3503 * dis,250 );
button define (but 5,3504 * dis,200,4004 * dis,250 );
button define (but 6,4005 * dis,200,4505 * dis,250 );
button define (but 7,4506 * dis,200,5006 * dis,250 );
威尔(ch!=27 )
{
switch(ch ) }
案例1 ' :
releaseButton(but1; 布雷克;
案例2 ' :
releaseButton(but2; 布雷克;
案例3 ' :
releaseButton(but3; 布雷克;
案例4 ' :
releaseButton(but4; 布雷克;
案例5 ' :
releaseButton(but5; 布雷克;
案例6 ' :
releaseButton(but6; 布雷克;
案例7 ' :
releaseButton(but7; 布雷克;