線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1066
推到 Plurk!
推到 Facebook!

自 動 隱 藏 的 聲 象 按 鈕

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-27 16:01:18 IP:61.221.xxx.xxx 未訂閱
此為轉貼資料 http://www2.ccw.com.cn/tips/9904/041401_05.asp 自 動 隱 藏 的 聲 象 按 鈕 海 南 大 學 葉 鬥 彪 ---- [ 本 文 ? 摘 略, 全 文 可 下 載,Zip 157KB ---- 另 有 以 下 壓 縮 文 件 可 以 下 載: ---- 示 例 的exe 402KB; ---- 源 程 序 1KB; ---- 主 窗 體 280KBKB ] ---- 隨 著 計 算 機 的 日 益 普 及 和 多 媒 體 技 術 的 不 斷 發 展, 多 媒 體 計 算 機 輔 助 教 學(MCAI) 軟 件 正 改 變 人 們 傳 統 的 學 習 方 式。MCAI 軟 件 的 操 作 界 面 賞 心 悅 目, 特 別 是 具 有 音 響 效 果 且 能 自 動 隱 藏 的 圖 象 按 鈕 或 菜 單, 圖、 文、 聲 並 茂, 確 實 ? 軟 件 添 色 不 少, 深 受 用 戶 喜 愛。 以 下 介 紹 用Delphi 實 現 上 述 功 能 的 技 術。 ---- 准 備 工 作 ---- 建 好 應 用 軟 件 主 目 錄C:\AutoHide 及 其 子 目 錄Images 和Sounds。 作 ? 軟 件 主 界 面 的 背 景 圖 象 的 位 圖 文 件Background.bmp, 及 作 ? 按 鈕 圖 象 的 位 圖Chimera.bmp 都 存 入Images 目 錄 中。 將 聲 音 文 件Growl.wav 存 入Sounds 目 錄。 ---- 圖 象 按 鈕 ---- 1 . ? 動Delphi 3.0 IDE, 新 建 項 目AutoHide.dpr, 主 窗 體 單 元 命 名 ?Main.pas, 存 入C:\AutoHide 目 錄。 在 主 窗 體 上 放 入 三 個TImage 組 件, 主 要 屬 性 按 表1 設 置。 ---- 表1 主 窗 體 和 各 組 件 屬 性 設 置 組 件 屬 性 設 置 Form1 Caption Auto Hide Button Name MainForm Image1 Align alClient Name BackgroundImage Picture (TBitmap) Stretch True Visible True Image2 Align alNone Name PictureImage Picture (TBitmap) Stretch True Transparent True Visible False Image3 Align alNone Cursor crHandPoint Name ButtonImage Picture (None) Stretch False ---- BackgroundImage 的Picture 屬 性 裝 入Background.bmp,PictureImage 的Picture 屬 性 裝 入Chimera.bmp。ButtonImage 重 疊 於PictureImage 之 上, 置 於 背 景 圖 象 的 特 定 位 置。 ---- 2 . 建 立ButtonImage 的OnMouseMove 事 件, 當 鼠 標 移 至 其 上 時PictureImage 顯 現: PictureImage.Visible:=True; ---- 3 . 建 立BackgroundImage 的OnMouseMove 事 件, 當 鼠 標 移 開ButtonImage 時PictureImage 隱 藏: PictureImage.Visible:=False; ---- 4 . 創 建ButtonImage( 注 意: 不 是PictureImage) 的OnClick 事 件, 以 響 應 鼠 標 點 擊 完 成 規 定 動 作。 不 失 一 般 性, 在 此 僅 顯 示 一 行 信 息。 MessageBeep($FFFF); ShowMessage('Welcome to the Delphi.'); ---- 5 . 編 譯、 運 行。 軟 件 ? 動 後 進 入 主 界 面, 在 背 景 圖 象 上 沒 有 菜 單, 也 沒 有 按 鈕, 如 圖1 所 示。 ---- 當 鼠 標 移 至 獵 豹 頭 部 時, 豹 頭 變 成 獅 頭 按 鈕, 且 鼠 標 變 ? 手 指, 如 圖2 所 示。 ---- 當 鼠 標 移 出 獅 頭 範 圍 時, 獅 頭 隱 藏, 恢 複 主 界 面 圖 象。 若 點 擊 獅 頭 按 鈕, 則 出 現 信 息 窗( 見 圖3): Welcome to the Delphil. ---- 音 響 效 果 ---- 如 果 要 在 上 述“ 自 動 隱 藏” 按 鈕 加 上 音 響 效 果, 可 以 在 獅 頭 出 現 時 利 用PlaySound() 播 放 一 個 聲 音 文 件(.wav)。 ---- 但 是, 不 能 將PlaySound() 直 接 加 入ButtonImage 的OnMouseMove 事 件 中。 這 是 因 ?, 當 鼠 標 在 按 鈕 上 移 動 時,PlaySound() 會 不 斷 重 複 執 行。 務 必 確 保 按 鈕 出 現 時 聲 音 文 件 只 播 放 一 次 ! 須 如 此 這 般: ---- 1. ? 調 用PlaySound() 函 數, 並 控 制 聲 音 文 件 的 播 放 次 數, 在Main.pas 單 元 的implementation 段 加 入: uses mmsystem; var noHide: Boolean; ---- 2. 創 建 主 窗 體MainFrom 的OnCreate 事 件 處 理 程 序, 以 初 始 化noHide 變 量: noHide:=True; ---- 3. 將ButtonImage 的OnMouseMove 事 件 處 理 程 序 改 ?(begin 與end 之 間 的 語 句): if noHide then begin PictureImage.Visible:=True; PlaySound('Sounds\Growl',0,SND_ASYNC); noHide:=False; end; ---- 4. 將BackgroundImage 的OnMouseMove 事 件 處 理 程 序 改 ?(begin 與end 之 間 的 語 句): PictureImage.Visible:=False; noHide:=True; ---- 重 新 編 譯 和 運 行。 此 時, 當 鼠 標 移 至 獵 豹 頭 部 時, 張 牙 舞 爪、 咆 哮 著 的 獅 頭 出 現, 驚 心 動 魄。 ---- 以 上 例 程 編 譯 和 運 行 環 境 是Delphi 3.0 和 中 文Windows 98。 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-11-22 18:06:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!