亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

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

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

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

一、按鈕顯示原理

按鈕一般有按下和彈起兩種狀態(tài),在3D studio中按鈕也有這兩種狀態(tài),Windows中雖然看到按鈕雖是彈起的,但細(xì)心的用戶(hù)不難發(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),給用戶(hù)的感覺(jué)是按鈕被按下后又彈起。在Windows中的按鈕就是這樣的,3D studio中的部分按鈕當(dāng)被選中時(shí),只顯示圖2,這時(shí)用戶(hù)可以很清晰地看到凹下的按鈕。

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

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

1.結(jié)構(gòu)定義typedef struet Button Def{

short X1;

short Y1;

short X2;

short Y1;

} button

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

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

#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ù)用于定義一個(gè)名為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ù)顯示按鈕彈起時(shí)的狀態(tài)。

(3)Put Down Button(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"

#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語(yǔ)言實(shí)現(xiàn)按鈕新技術(shù)】相關(guān)文章:

用C語(yǔ)言實(shí)現(xiàn)火箭的升空05-01

c語(yǔ)言心得04-24

按鈕04-30

C語(yǔ)言課程教案04-24

C語(yǔ)言小游戲05-01

C語(yǔ)言的論文致謝04-29

C語(yǔ)言的實(shí)踐實(shí)習(xí)心得04-28

c語(yǔ)言讀書(shū)筆記03-23

C語(yǔ)言實(shí)習(xí)總結(jié)01-19

C語(yǔ)言實(shí)習(xí)心得01-01