国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一個使用多媒體定時器的簡單例子

2019-11-17 05:29:37
字體:
來源:轉載
供稿:網友

  1)新建一個工程,保存

2)添加一個Button和一個Label

3)修改unit1.h代碼如下:
// ---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
// ---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
// ---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
    TButton *Button1;
    TLabel *Label1;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose);
PRivate: // User declarations
public:  // User declarations
    __fastcall TForm1(TComponent* Owner);
    static void CALLBACK TimeProc(UINT uID,UINT uMsg,
        DWord dwUser,DWORD dw1,DWORD dw2); // 定時器回調函數
    int TimerID; // 定時器ID
};
// ---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
// ---------------------------------------------------------------------------
#endif

4)unit1.cpp代碼如下:
// ---------------------------------------------------------------------------

#include <vcl.h>
#include "mmsystem.h"
#pragma hdrstop
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    TimerID = 0;
}
// ---------------------------------------------------------------------------
void CALLBACK TForm1::TimeProc(UINT uID,UINT uMsg, DWORD dwUser,DWORD dw1,DWORD dw2)
{
    Form1->Label1->Caption = Now();
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TimerID = timeSetEvent(1000, 0, (LPTIMECALLBACK)TimeProc, 0,
        TIME_PERIODICTIME_CALLBACK_FUNCTION); // 設定多媒體定時器,1000ms

    if(TimerID == 0)    {
        ShowMessage("創建失敗");
    }
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    if(TimerID != 0)    {
        timeKillEvent(TimerID); // 釋放定時器
    }
}
// ---------------------------------------------------------------------------

運行效果:點擊按鈕后,Label1開始顯示時間
測試環境:BCB5 + WIN98

作者信息:
"Mao Yanwei(citiz)" <myw_fool@citiz.net>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 聂拉木县| 肥城市| 汤原县| 灌云县| 石渠县| 乌鲁木齐市| 纳雍县| 新丰县| 高安市| 江津市| 安康市| 静宁县| 太白县| 科技| 蒲江县| 青海省| 曲阳县| 文化| 嘉兴市| 宣武区| 卓资县| 穆棱市| 罗平县| 清水县| 大理市| 泰来县| 通城县| 临夏市| 介休市| 太保市| 晋江市| 揭西县| 东兴市| 抚松县| 通化市| 兰州市| 黄龙县| 霍山县| 黎平县| 仁寿县| 靖州|