用C語言實現(xiàn)按鈕新技術(shù)

時間:2023-05-01 07:37:03 計算機論文 我要投稿
  • 相關(guān)推薦

用C語言實現(xiàn)按鈕新技術(shù)

一、按鈕顯示原理

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

@@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