⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uplay.cpp

📁 QQ支持魔法表情的显示
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "uPlay.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SHDocVw_OCX"
#pragma resource "*.dfm"
TfrmPlay *frmPlay;
//---------------------------------------------------------------------------
__fastcall TfrmPlay::TfrmPlay(TComponent* Owner)
        : TForm(Owner)
{
    // 将窗体设为无边框模式
    // BorderStyle = bsNone;
    // 在屏幕正中央显示
    // Position = poScreenCenter;
    // 屏幕永远在前
    // FormStyle = fsStayOnTop;
    // 浏览器控件的位置
    // cwb->Left = -2;
    // cwb->Top = -2;
    // cwb->Width = 400;
    // cwb->Height = 400;

    imgScreen->Width = 400;
    imgScreen->Height = 400;

    tmrAutoClose->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmPlay::FormShow(TObject *Sender)
{    
    // 临时文件夹所在的路径
    char szBuf[MAX_PATH];
    ::GetTempPath(MAX_PATH, szBuf);
    String strTempPath = String(szBuf);
    // 如果路径最后没有"\"就添加一个
    if(strTempPath.LastDelimiter("\\") != strTempPath.Length())
        strTempPath += "\\";

    // 将屏幕中间400*400的区域抓图并保存到jpg文件
    // 这个文件将作为显示Flash的HTML文件的背景
    // 因为HTML是居中显示,这样看起来HTML显示是透明的
    HDC hdc = GetDC(0);
    BitBlt(imgScreen->Canvas->Handle, 0, 0,
            imgScreen->Width, imgScreen->Height,
            hdc,
            (Screen->Width - Width) / 2,
            (Screen->Height - Height) / 2,
            SRCCOPY);
    TJPEGImage *jpg = new TJPEGImage();
    jpg->PixelFormat = jf24Bit;
    try
    {
        jpg->Assign(imgScreen->Picture->Bitmap);
        jpg->SaveToFile(strTempPath + "_bg4mgc.tmp");
    }
    __finally
    {
        delete jpg;
    }
    // 打开播放Flash的Html文件
    cwb->Navigate((WideString)(strTempPath + "QQMagicFlash.htm"));
}
//---------------------------------------------------------------------------
void __fastcall TfrmPlay::tmrAutoCloseTimer(TObject *Sender)
{
    // 魔法表情大概播放5-6秒钟,6秒钟以后关闭窗体
    Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmPlay::cwbDownloadComplete(TObject *Sender)
{
    tmrAutoClose->Enabled = true;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -