程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 用C++Builder設計動態網頁按鈕

用C++Builder設計動態網頁按鈕

編輯:vc教程

在信息爆炸式增長的今天,每天都有大量新的網站誕生,每時每刻網上都傳遞著難以計數的信息。建立網站來進行自我宣傳和信息交流已成為一種新潮的媒體宣傳方式,多姿多彩的網頁也成為Internet中最為絢麗的部分。您也許已經注意到,在網絡速度不斷提高的今天,網站的站主們為了留住訪問者的視線,開始越來越多地在網頁中使用精美的動畫、交互式的表單以及其他網頁特效。不過我們要實現這些特效,一般都需要借助類似Photoshop、Flash這樣復雜的圖象設計軟件,而且由這些圖象軟件生成的特效,字節容量往往都會很大,這相對於目前並不理想的帶寬來說不能不算是個遺憾。當然,並不是所有的特效都需要龐大的圖象軟件才能完成,我們同樣可以通過編寫程序的方法來達到設計網頁特效的目的。下面,筆者就以C++Builder來設計動態網頁按鈕為例,來說明一下我們完全可以使用程序來制作網頁的特效。    

筆者在這裡設計的動態網頁按鈕要實現的效果是,鼠標移動到按鈕上時,鼠標形狀變為手形,同時按鈕會動態地變成另外一幅畫面,從而將訪問者的視線瞬間吸引住;一旦鼠標離開按鈕之後,按鈕又恢復到以前狀態。在具體開發時,我們主要利用C++Builder提供的SpeedButton構件來顯示按鈕處在抬起、禁止、按下與保持按下的不同狀態,下面是其具體的設計步驟:

1、首先選擇一張自己滿意的位圖作為按鈕的原始面貌

將圖命名為one.bmp,接著可以用圖象制作軟件將one.bmp轉換為色彩更加亮麗的two.bmp,這個位圖就是按鈕在鼠標經過時顯示的圖形,另外為了能“強行”吸引訪問者的“眼球”,筆者同時還選取1個聲音文件名為crush.wav,以便讓鼠標移動到按鈕上時發出聲音來提醒用戶注意。

2、做好准備工作後,我們下面就開始正式進行程序的原代碼編寫工作。

打開一個純文本編輯軟件,並輸入下面的代碼:

crush WAV crush.wav

start BITMAP one.bmp

start1 BITMAP two.bmp

保存為資源文件app.rc。

3、下面我們開始使用以C++Builder。

首先啟動Builder,新建一個項目,並將資源文件app.rc添加進項目中。當然,大家也可以通過BIN目錄下的brcc32.exe將RC文件編繹為RES文件,然後用 #program resource "*.res" 語句將其聯編進項目中,筆者在這裡采用了更簡單的前一種方法。在當前窗體上加入新的SpeedButton,取名為StartSpeedButton。屬性按下表設置:

Caption 空

Cursor crHandPoint

Flat true

Hint

Glyph None

Showhint true

接下來,打開所對應的頭文件,在其中的private項中增加:

Graphics::TBitmap *one,*two;//定義位圖

Char *chWavHandle;//定義聲音句柄

然後在主表單的CPP文件的表單創鍵事件(onCreate)所對應的函數中先初始化位圖,

one=new Graphics::TBitmap();

two=new Graphics::TBitmap();

下面,初始化後再載入位圖

one->Handle=LoadBitmap(Hinstance, "one");//從內存中載入位圖

two->Handle=LoadBitmap(Hinstance, "two");

接著,再加載聲音文件

HRSRC temp=FindResource(Hinstance,"crush", "WAV");//從內存中載入聲音

HGLOBAL h=LoadResource(Hinstance,temp);

ChWavHandle=(char *)LockResource(h);

隨後我們再將浮動按鈕的畫面顯示為two.bmp的圖象

StartSpeedButton->Glyph->Assign(two);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved