国产色av,短篇公交车高h肉辣全集目录,一个人在线观看免费的视频完整版,最近日本mv字幕免费观看视频

按鈕新技術(shù)管理

前言:本站為你精心整理了按鈕新技術(shù)管理范文,希望能為你的創(chuàng)作提供參考價(jià)值,我們的客服老師可以幫助你提供個(gè)性化的參考范文,歡迎咨詢。

按鈕新技術(shù)管理

一、按鈕顯示原理

按鈕一般有按下和彈起兩種狀態(tài),在3Dstudio中按鈕也有這兩種狀態(tài),Windows中雖然看到按鈕雖是彈起的,但細(xì)心的用戶不難發(fā)現(xiàn),當(dāng)選中按鈕時(shí),它有短暫的按下?tīng)顟B(tài)。實(shí)際上,它的原理很簡(jiǎn)單,其實(shí)是利用改變按鈕邊框的顏色引起人視覺(jué)上的錯(cuò)覺(jué)而達(dá)到立體效果,讓人們感到屏幕上真有凸起和凹下的按鈕一樣,如下圖:

@@T5S11500.GIF;圖1@@

圖1和圖2給出了按鈕兩種狀態(tài)和圖示,圖1為按鈕彈起時(shí)的狀態(tài)圖,其右邊及下邊的邊框色為黑色(0X00),而左邊及上邊的邊框顏色置為亮白(0x0f),而圖2則恰恰相反,右邊及下邊的邊框色為亮白,左邊及上邊為黑色,它反映了按鈕被按下的狀態(tài)。

在程序應(yīng)用中,設(shè)置某一按鈕時(shí),顯示圖1的狀態(tài),再選中這個(gè)按鈕時(shí),則顯示出圖2的狀態(tài),經(jīng)過(guò)短暫的延時(shí)后,恢復(fù)到圖1的狀態(tài),給用戶的感覺(jué)是按鈕被按下后又彈起。在Windows中的按鈕就是這樣的,3Dstudio中的部分按鈕當(dāng)被選中時(shí),只顯示圖2,這時(shí)用戶可以很清晰地看到凹下的按鈕。

二、程序?qū)崿F(xiàn)

主要包括按鈕結(jié)構(gòu)的意義和與它有關(guān)的幾個(gè)函數(shù)。

1.結(jié)構(gòu)定義typedefstruetButtonDef{

shortX1;

shortY1;

shortX2;

shortY1;

}button

(X1,Y1)和(X2,Y2)分別為按鈕左上角和右下角的位置坐標(biāo),用于確定按鈕的位置和大小。

為了程序需要,須定義幾個(gè)常用的量。

#defineSTART-Xbt→X1

#defineSTART-Ybt→Y1

#defineEND-Xbt→X2

#defineEND-Ybt→Y2

#defineGrap1(Grap為按鈕邊框的寬度)

#defineButtonWhite0x0f

#defineButtonBlack0x00

2.函數(shù)定義

(1)voidButtonDefine(button*bt,ShortX1,ShortY,shortX2,shortY2)該函數(shù)用于定義一個(gè)名為bt的按鈕的大小和位置,其左上角及右下角坐標(biāo)為(X1,Y1),(X2,Y2)。

START-X=X1;

START-Y=Y1;

END-X=X2;

END-Y=Y2;

(2)VoidReleaseButton(button*bt)

該函數(shù)顯示按鈕彈起時(shí)的狀態(tài)。

(3)PutDownButton(button*bt)該函數(shù)顯示按鈕按下時(shí)的狀態(tài)。

下面列出了以上函數(shù)用于定義按鈕,顯示按鈕彈起,按下?tīng)顟B(tài)的程序,這個(gè)程序在屏幕上顯示7個(gè)按鈕,按下1~7個(gè)數(shù)字后就彈起某個(gè)按鈕,非常方便,需要彈起某個(gè)數(shù)字就按哪個(gè)數(shù)字,特別需要指出的是,當(dāng)Gsap大一些時(shí),每個(gè)按鈕,就如同鍵盤(pán)上的鍵一樣,立體感很強(qiáng),有興趣的讀者可以實(shí)踐操作一下,并把這種簡(jiǎn)明易懂的技術(shù)用之于工作,以提高工作效率。

button.c

#include<graphics.h>

#include<conio.h>

#include<alloc.h>

#include<stdio.h>

#include<process.h>

#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.short);

voidReleaseButton(button*bt);

voidPutDownButton(button*bt);

voiddelay-time(longint);

main()

{

intgdriver=DETECT.gmode=VGAHI:

button*but,*but1.*but2.*bt,*but3,*but4,*but5,*but6,*but7;

intch;

initgraph(&gdriver,&gmode,"d:\tc");

setcolor(ScreenBkColor);

setbkcolor(2);

clrscr();

ButtonDefine(but,50,50,600,400);

putDownButton(but);

ButtonDefine(but1,150,200,200,250);

ButtonDefine(but2,200+dis,200,250+dis,250);

ButtonDefine(but3,250+2*dis,200,300+2*dis,250);

ButtonDefine(but4,300+3*dis,200,350+3*dis,250);

ButtonDefine(but5,350+4*dis,200,400+4*dis,250);

ButtonDefine(but6,400+5*dis,200,450+5*dis,250);

ButtonDefine(but7,450+6*dis,200,500+6*dis,250);

while(ch!=27)

{

switch(ch)}

case''''1'''':

ReleaseButton(but1);break;

case''''2'''':

ReleaseButton(but2);break;

case''''3'''':

ReleaseButton(but3);break;

case''''4'''':

ReleaseButton(but4);break;

case''''5'''':

ReleaseButton(but5);break;

case''''6'''':

ReleaseButton(but6);break;

case''''7'''':

ReleaseButton(but7);break;

}

ch=getch();

if(ch==27)

break;

switch(ch)

{

case''''1'''':

PutDownButton(but1);break;

case''''2'''':

PutDownButton(but2);break;

case''''3'''':

PutDownButton(but3);break;

case''''4'''':

PutDownButton(but4);break;

case''''5'''':

PutDownButton(but5);break;

case''''6'''':

PutDownButton(but6);break;

case''''7'''':

PutDownButton(but7);break;

}

delay-time(delay);

}

closegraph():

return0;

}

voidButtonDefine(button*bt.shortx1,shorty1,shortx2,shorty2)

{

START-X=x1;

START-Y=y1;

END-X=x2;

END-Y=y2;

}

voidReleaseButton(button*bt)

{

inti,j;

setcolor(7);

setfillstyle(1,7);

bar(START-X,START-Y,END-X,END-Y);

setcolor(ButtonWhite);

setfillstyle(1,7);

bar(START-X+Grap,START-Y+Grap,END-X-Grap,END-Y-Grap);

setcolor(15);

for(j=0;j<=Grap;j++)

{

line(START-X,j+START-Y,END-X-j,j+STAT-Y);

}

for(i=0,i<=Grap;j++)

{

line(START-X+i,START-Y+Grap,START-X+i,END-Y-i);

}

setcolor(ButtonBlack);

for(j=0;j<Grap;j++)

}

line(END-X,j+END-Y-Grap,START-X+Grap-j,j+END-Y-Grap);

}

for(i=0,i<Grap;i++)

{

line(i+END-X+Grap,END-Y-Grap,i+END+X-Grap,START-Y+Grap-i);

}

return;

}

voidPutDownButton(button*bt)

}

inti,j;

setcolor(put-color);

setfillstyle(1,put-color);

bar(START-X+Grap,START-Y+Grap,END-X-Grap,END-Y-Grap);

setcolor(ButtonBlack);

for(j=0;j<=Grap;j++)

{

line(START-X,j+START-Y,END-X-j,j+START-Y);

;}

for(i=0;i<Garp;i++)

{

line(START-X+i,START-Y+Grap,START-X+i,END-Y-i);

setcolor(15);

for(j=0,j<=Grap;j++)

{

line(END-X,j+END-Y-Grap,START-X+Grap-j,j+END-Y-Grap);

}

for(i=0;i<=Grap;i++)

{

line(i+END-X-Grap,END-Y-Grap,i+END-X-Grap,START-Y+Grap-i);

}

}

voiddelay-time(longinti)

{

i=0;

while(i<=delay)

i++;

}

button.h

typedefstructButtonDef

{shortx1;

shorty1;

shortx2;

shorty2;

}button;

文檔上傳者
主站蜘蛛池模板: 青海省| 保靖县| 梅河口市| 花莲市| 勃利县| 武功县| 洪江市| 札达县| 丹凤县| 丰原市| 斗六市| 天等县| 西华县| 莲花县| 浙江省| 安溪县| 洪泽县| 大安市| 台安县| 乌鲁木齐县| 油尖旺区| 罗平县| 邓州市| 乌兰浩特市| 芦溪县| 海原县| 阜平县| 筠连县| 永定县| 若尔盖县| 甘肃省| 老河口市| 平凉市| 大冶市| 北票市| 天镇县| 蒙阴县| 左权县| 东乡族自治县| 山东省| 井冈山市|