<form id="itnzz"><noscript id="itnzz"></noscript></form>

          1. <menuitem id="itnzz"></menuitem>
          2. 成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
            現在位置:范文先生網>理工論文>計算機論文>用C語言實現按鈕新技術

            用C語言實現按鈕新技術

            時間:2023-02-20 22:50:13 計算機論文 我要投稿
            • 相關推薦

            用C語言實現按鈕新技術

               一、按鈕顯示原理
            按鈕一般有按下和彈起兩種狀態,在3D studio中按鈕也有這兩種狀態,Windows中雖然看到按鈕雖是彈起的,但細心的用戶不難發現,當選中按鈕時,它有短暫的按下狀態。實際上,它的原理很簡單,其實是利用改變按鈕邊框的顏色引起人視覺上的錯覺而達到立體效果,讓人們感到屏幕上真有凸起和凹下的按鈕一樣,如下圖:
            @@T5S11500.GIF;圖1@@
            圖1和圖2給出了按鈕兩種狀態和圖示,圖1為按鈕彈起時的狀態圖,其右邊及下邊的邊框色為黑色(0X00),而左邊及上邊的邊框顏色置為亮白(0x0f),而圖2則恰恰相反,右邊及下邊的邊框色為亮白,左邊及上邊為黑色,它反映了按鈕被按下的狀態。
            在程序應用中,設置某一按鈕時,顯示圖1的狀態,再選中這個按鈕時,則顯示出圖2的狀態,經過短暫的延時后,恢復到圖1的狀態,給用戶的感覺是按鈕被按下后又彈起。在Windows中的按鈕就是這樣的,3D studio中的部分按鈕當被選中時,只顯示圖2,這時用戶可以很清晰地看到凹下的按鈕。
            二、程序實現
            主要包括按鈕結構的意義和與它有關的幾個函數。
            1.結構定義typedef struet Button Def{
            short X1;
            short Y1;
            short X2;
            short Y1;
            } button
            (X1,Y1)和(X2,Y2)分別為按鈕左上角和右下角的位置坐標,用于確定按鈕的位置和大小。
            為了程序需要,須定義幾個常用的量。
            #define START-X bt→X1
            #define START-Y bt→Y1
            #define END-X bt→X2
            #define END-Y bt→Y2
            #define Grap 1(Grap為按鈕邊框的寬度)
            #define Button White 0x0f
            #define Button Black 0x00
            2.函數定義
            (1)void Button Define(button *bt,Short X1,Short Y,short X2,short Y2)該函數用于定義一個名為bt的按鈕的大小和位置,其左上角及右下角坐標為(X1,Y1),(X2,Y2)。
            START-X=X1;
            START-Y=Y1;
            END-X=X2;
            END-Y=Y2;
            (2)Void Release Button(button *bt)
            該函數顯示按鈕彈起時的狀態。
            (3)Put Down Button(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"
            #define START-X bt->x1
            #define START-Y bt->y1
            #define END-X bt->x2
            #define END-Y bt->y2
            #define Grap 1
            #defile ScreenBkColor 2
            #define release-color 7
            #define put-color 3
            #define ButtonWhite 0x0f
            #define ButtonBlack 0x00
            #define delay 50000
            #define dis 10
            void ButtonDefine (button *bt.shout.short.short.short);
            void ReleaseButton(button *bt);
            void PutDownButton(button *bt);
            void delay-time(long int);
            main()
            {
            int gdriver=DETECT.gmode=VGAHI:
            button *but,*but1.*but2. *bt,*but3,*but4,*but5,*but6,*but7;
            int ch;
            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':
            P

            utDownButton(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():
            return 0;
            }
            void ButtonDefine(button *bt.short x1,short y1,short x2,short y2)
            {
            START-X=x1;
            START-Y=y1;
            END-X=x2;
            END-Y=y2;
            }
            void ReleaseButton(button *bt)
            {
            int i,j;
            setcolor(7);
            setfillstyle(1,7);
            bar(START-X,START-Y,END-X,END-Y);
            setcolor(Button White);
            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;
            }
            void PutDownButton(button *bt)
            }
            int i,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);
            }
            }
            void delay-time(long int i)
            {
            i=0;
            while(i<=delay)
            i++;
            }
            button.h
            typedef struct ButtonDef
            { short x1;
            short y1;
            short x2;
            short y2;
            }button;


            【用C語言實現按鈕新技術】相關文章:

            用C語言實現CRC校驗計算08-06

            C語言實現串行通信接口程序08-06

            用Verilog HDL實現I2C總線功能08-06

            用TMS320C54X實現Vertibi譯碼器08-06

            用P89C664實現I2C總線大批量數據的自動存儲08-06

            用Borland C++3.1實現外設與Windows應用程序實時通信08-06

            用AT89C2051實現電話遠程控制家用電器08-06

            用TL16C752B實現DSP和PC機的串行通信08-06

            在C 中實現JAVA的存儲管理機制08-09

            主站蜘蛛池模板: 无码国内精品人妻少妇| 日韩精品人妻系列无码av东京| 无码精品日韩中文字幕| 亚洲成a人片在线观看久| 亚洲第一极品精品无码久久| 精品国产美女福到在线不卡| 色综合久久综合香蕉色老大| 国产精品制服丝袜无码| 国产内射XXXXX在线| 亚洲av成人久久18禁| 精品无码一区二区三区爱欲| 久9re热视频这里只有精品免费| 日产精品一区二区三区免费| 妺妺窝人体色www聚色窝韩国| 四虎影视一区二区精品| 国产高清精品自拍av| 人妻中文字幕精品一页| 国产激情电影综合在线看| 欧美白妞大战非洲大炮| 久久夜色精品国产爽爽| 亚洲av优女天堂熟女久久| 口爆少妇在线视频免费观看| 日韩一区二区三区不卡片| 中文字幕日韩精品亚洲一区| 9lporm自拍视频区| 91密桃精品国产91久久| 激情六月丁香婷婷四房播| 亚洲免费人成网站在线观看| 成人中文在线| 成人白浆一区二区三区在线观看| 丰满少妇被猛烈进出69影院| 成人午夜看黄在线尤物成人| 人妻熟女一区二区aⅴ水野朝阳| 亚洲高清WWW色好看美女| 伊人色综合九久久天天蜜桃| 中文字幕日韩人妻一区| 饥渴丰满少妇大力进入| 中文字幕av国产精品| 国内揄拍国产精品人妻门事件| 国产精品国三级国产av| 成码无人AV片在线电影网站|