- 相關(guān)推薦
用C語言實現(xiàn)按鈕新技術(shù)
一、按鈕顯示原理
按鈕一般有按下和彈起兩種狀態(tài),在3D studio中按鈕也有這兩種狀態(tài),Windows中雖然看到按鈕雖是彈起的,但細(xì)心的用戶不難發(fā)現(xiàn),當(dāng)選中按鈕時,它有短暫的按下狀態(tài)。實際上,它的原理很簡單,其實是利用改變按鈕邊框的顏色引起人視覺上的錯覺而達到立體效果,讓人們感到屏幕上真有凸起和凹下的按鈕一樣,如下圖:
@@T5S11500.GIF;圖1@@
圖1和圖2給出了按鈕兩種狀態(tài)和圖示,圖1為按鈕彈起時的狀態(tài)圖,其右邊及下邊的邊框色為黑色(0X00),而左邊及上邊的邊框顏色置為亮白(0x0f),而圖2則恰恰相反,右邊及下邊的邊框色為亮白,左邊及上邊為黑色,它反映了按鈕被按下的狀態(tài)。
在程序應(yīng)用中,設(shè)置某一按鈕時,顯示圖1的狀態(tài),再選中這個按鈕時,則顯示出圖2的狀態(tài),經(jīng)過短暫的延時后,恢復(fù)到圖1的狀態(tài),給用戶的感覺是按鈕被按下后又彈起。在Windows中的按鈕就是這樣的,3D studio中的部分按鈕當(dāng)被選中時,只顯示圖2,這時用戶可以很清晰地看到凹下的按鈕。
二、程序?qū)崿F(xiàn)
主要包括按鈕結(jié)構(gòu)的意義和與它有關(guān)的幾個函數(shù)。
1.結(jié)構(gòu)定義typedef struet Button Def{
short X1;
short Y1;
short X2;
short Y1;
} button
(X1,Y1)和(X2,Y2)分別為按鈕左上角和右下角的位置坐標(biāo),用于確定按鈕的位置和大小。
為了程序需要,須定義幾個常用的量。
#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.函數(shù)定義
(1)void Button Define(button *bt,Short X1,Short Y,short X2,short Y2)該函數(shù)用于定義一個名為bt的按鈕的大小和位置,其左上角及右下角坐標(biāo)為(X1,Y1),(X2,Y2)。
START-X=X1;
START-Y=Y1;
END-X=X2;
END-Y=Y2;
(2)Void Release Button(button *bt)
該函數(shù)顯示按鈕彈起時的狀態(tài)。
(3)Put Down Button(button *bt)該函數(shù)顯示按鈕按下時的狀態(tài)。
下面列出了以上函數(shù)用于定義按鈕,顯示按鈕彈起,按下狀態(tài)的程序,這個程序在屏幕上顯示7個按鈕,按下1~7個數(shù)字后就彈起某個按鈕,非常方便,需要彈起某個數(shù)字就按哪個數(shù)字,特別需要指出的是,當(dāng)Gsap大一些時,每個按鈕,就如同鍵盤上的鍵一樣,立體感很強,有興趣的讀者可以實踐操作一下,并把這種簡明易懂的技術(shù)用之于工作,以提高工作效率。
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.gmod
[1] [2] [3]
【用C語言實現(xiàn)按鈕新技術(shù)】相關(guān)文章:
用C語言實現(xiàn)火箭的升空05-01
c語言心得04-24
按鈕04-30
C語言課程教案04-24
C語言小游戲05-01
C語言的論文致謝04-29
C語言的實踐實習(xí)心得04-28
c語言讀書筆記03-23
C語言實習(xí)總結(jié)01-19
C語言實習(xí)心得01-01