• <abbr id="kam3m"><form id="kam3m"></form></abbr>

    <u id="kam3m"><li id="kam3m"></li></u>

  • <table id="kam3m"></table>
    
    

    <u id="kam3m"></u>
    18禁无遮挡啪啪无码网站,真人无码作爱免费视频,2018年亚洲欧美在线v,国产成人午夜一区二区三区 ,亚洲精品毛片一区二区,国产在线亚州精品内射,精品无码国产污污污免费,国内少妇人妻偷人精品
    首頁 > 文章中心 > 正文

    按鈕新技術管理

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

    按鈕新技術管理

    一、按鈕顯示原理

    按鈕一般有按下和彈起兩種狀態,在3Dstudio中按鈕也有這兩種狀態,Windows中雖然看到按鈕雖是彈起的,但細心的用戶不難發現,當選中按鈕時,它有短暫的按下狀態。實際上,它的原理很簡單,其實是利用改變按鈕邊框的顏色引起人視覺上的錯覺而達到立體效果,讓人們感到屏幕上真有凸起和凹下的按鈕一樣,如下圖:

    @@T5S11500.GIF;圖1@@

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

    在程序應用中,設置某一按鈕時,顯示圖1的狀態,再選中這個按鈕時,則顯示出圖2的狀態,經過短暫的延時后,恢復到圖1的狀態,給用戶的感覺是按鈕被按下后又彈起。在Windows中的按鈕就是這樣的,3Dstudio中的部分按鈕當被選中時,只顯示圖2,這時用戶可以很清晰地看到凹下的按鈕。

    二、程序實現

    主要包括按鈕結構的意義和與它有關的幾個函數。

    1.結構定義typedefstruetButtonDef{

    shortX1;

    shortY1;

    shortX2;

    shortY1;

    }button

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

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

    #defineSTART-Xbt→X1

    #defineSTART-Ybt→Y1

    #defineEND-Xbt→X2

    #defineEND-Ybt→Y2

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

    #defineButtonWhite0x0f

    #defineButtonBlack0x00

    2.函數定義

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

    START-X=X1;

    START-Y=Y1;

    END-X=X2;

    END-Y=Y2;

    (2)VoidReleaseButton(button*bt)

    該函數顯示按鈕彈起時的狀態。

    (3)PutDownButton(button*bt)該函數顯示按鈕按下時的狀態。

    下面列出了以上函數用于定義按鈕,顯示按鈕彈起,按下狀態的程序,這個程序在屏幕上顯示7個按鈕,按下1~7個數字后就彈起某個按鈕,非常方便,需要彈起某個數字就按哪個數字,特別需要指出的是,當Gsap大一些時,每個按鈕,就如同鍵盤上的鍵一樣,立體感很強,有興趣的讀者可以實踐操作一下,并把這種簡明易懂的技術用之于工作,以提高工作效率。

    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;

    文檔上傳者
    主站蜘蛛池模板: 人人做人人澡人人人爽| 中文字幕免费不卡二区| 日韩在线欧美在线| 国内精品视频区在线2021 | 亚洲熟妇无码爱V在线观看| 国产精品嫩草影院入口一二三| 中文字幕在线日韩| 中文字幕久区久久中文字幕 | 激情综合网激情综合网激情| 亚洲av高清一区二区三| 精品乱子伦一区二区三区| 亚洲区综合区小说区激情区| 国产成人精品无码专区| 日韩精品福利一区二区三区| 国产日韩入口一区二区| 国产中文字幕在线精品| 人妻少妇邻居少妇好多水在线| 国产精品一区二区久久精品无码| 精品成人免费自拍视频| 久久国产精品老女人| 亚洲一区中文字幕在线| 亚洲午夜无码av毛片久久| 亚洲欧美成人久久综合中文网| 在线无码免费看黄网站| 国内偷自第一区二区三区| 熟妇人妻任你躁在线视频| 成人午夜激情在线观看| 久热爱精品视频线路一| 国产亚欧女人天堂AV在线| 樱桃视频影院在线播放| 久久亚洲国产最新网站| 国产高清精品自在线看| 久久婷婷五月综合97色直播| 在线看av一区二区三区| 午夜福利免费视频一区二区| 99久久激情国产精品| 免费网站看V片在线毛| 色综合色国产热无码一| 久久精品国产91久久麻豆| 精品无人区一码二码三码| 日韩国产精品中文字幕|