首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ Builder 製作 HTML 風格動態按鈕 (含音效)

     編輯:關於C++

完整實作:滑鼠進入亮起彩色圖片+音效、移出恢復灰階

與文章 7960 類似,但提供更詳細的步驟說明與資源檔建立流程。

資源檔建立 (mysrc.rc)

crush WAV crush.wav
start BITMAP start.bmp    // 灰階圖
start1 BITMAP start1.bmp  // 彩色圖

專案加入資源檔

直接加入 mysrc.rc 或用 brcc32 編譯為 .res 再用 #pragma resource "mysrc.res"。

SpeedButton 屬性

屬性值
Caption空白
CursorcrHandPoint
Flattrue
Hint單擊以…
GlyphNone (設計時不指定)
ShowHinttrue

核心變數與初始化

Graphics::TBitmap *start, *start1;
char *chWavHandle;
bool blStart = true;

start = new Graphics::TBitmap(); start1 = new Graphics::TBitmap();
start->Handle = LoadBitmap(HInstance, "start");
start1->Handle = LoadBitmap(HInstance, "start1");

HRSRC hRes = FindResource(HInstance, "crush", "WAV");
HGLOBAL hGlob = LoadResource(HInstance, hRes);
chWavHandle = (char*)LockResource(hGlob);

StartSpeedButton->Glyph->Assign(start1); // 初始灰階

釋放資源 (OnDestroy)

delete chWavHandle; delete start1; delete start;

滑鼠事件

// SpeedButton OnMouseMove
if (blStart) {
    StartSpeedButton->Glyph->Assign(start); // 彩色
    SndPlaySound(chWavHandle, SND_MEMORY | SND_SYNC);
    blStart = false;
}

// Form OnMouseMove (偵測移出)
if (!blStart) {
    StartSpeedButton->Glyph->Assign(start1); // 灰階
    blStart = true;
}

編譯需求

包含 #include <mmsystem.h>,BCB 4.0/Win98 測試通過。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved