资源简介

因为公司在年会的时候要抽奖,在网上下载的抽奖软件多少不符合要求,于是自己写了一个,写的比较粗糙,希望能对一些刚开始学习的人有点帮助吧。软件使用VC2010开发完成,如果您有完善,请发送到我信箱一份3598392@qq.com。 ----- ★软件说明★ ----- 1、背景音乐是软件目录下的bk.mp3,可以替换或者删除。 2、背景图片是软件目录下的bk.bmp(注:24位),可以替换或者删除。 3、软件目录下的Config.ini文件定义了标题的相关信息,其中R、G、B为字体对应的颜色,3D表示是否为3D字体,Text为标题内容。Text内容可以为空。Text内容可以为空。InitialNum表示默认抽奖人数。 4、软件目录下的Names.txt中是所有要抽奖人员的名单,一个名字一行。 5、按空格键抽选或者继续随机,抽取后的人在软件重新启动后不会再次被抽到,可以按Ctrl+0重置数据。重置之前的数据备份在Names.bk.txt中。 6、最多支持随机抽取8个人。在非随机状态下,按Ctrl+1-8可以定义同时抽取的人的个数,这个个数在软件的左下角显示。也可以在非随机状态下用鼠标点击这个数字。 7、按Alt+F4关闭程序。

资源截图

代码片段和文件信息

#include “StdAfx.h“
#include “DXGraph.h“


////////////////////////////////////////////////////////////////////////////////
CDXGraph::CDXGraph()
{
mGraph        = NULL;
mMediaControl = NULL;
mEvent        = NULL;
mBasicAudio   = NULL;
mSeeking      = NULL;

mobjectTableEntry = 0;
}

CDXGraph::~CDXGraph()
{
Release();
}

bool CDXGraph::Create(void)
{
if (!mGraph)
{
if (SUCCEEDED(CoCreateInstance(CLSID_FilterGraph NULL CLSCTX_INPROC_SERVER
IID_IGraphBuilder (void **)&mGraph)))
{
AddToobjectTable();

return QueryInterfaces();
}
mGraph = 0;
}

return false;
}

bool CDXGraph::QueryInterfaces(void)
{
if (mGraph)
{
HRESULT hr = NOERROR;
hr |= mGraph->QueryInterface(IID_IMediaControl (void **)&mMediaControl);
hr |= mGraph->QueryInterface(IID_IMediaEventEx (void **)&mEvent);
hr |= mGraph->QueryInterface(IID_IBasicAudio (void **)&mBasicAudio);
hr |= mGraph->QueryInterface(IID_IMediaSeeking (void **)&mSeeking);
if (mSeeking)
{
mSeeking->SetTimeFormat(&TIME_FORMAT_MEDIA_TIME);
}
return SUCCEEDED(hr);
}
return false;
}

void CDXGraph::Release(void)
{
if (mSeeking)
{
mSeeking->Release();
mSeeking = NULL;
}
if (mMediaControl)
{
mMediaControl->Release();
mMediaControl = NULL;
}
if (mEvent)
{
mEvent->Release();
mEvent = NULL;
}
if (mBasicAudio)
{
mBasicAudio->Release();
mBasicAudio = NULL;
}
RemoveFromobjectTable();
if (mGraph) 
{
mGraph->Release(); 
mGraph = NULL;
}
}

bool CDXGraph::Attach(IGraphBuilder * inGraphBuilder)
{
Release();

if (inGraphBuilder)
{
inGraphBuilder->AddRef();
mGraph = inGraphBuilder;

AddToobjectTable();
return QueryInterfaces();
}
return true;
}

IGraphBuilder * CDXGraph::GetGraph(void)
{
return mGraph;
}

IMediaEventEx * CDXGraph::GetEventHandle(void)
{
return mEvent;
}

// Connect filter from the upstream output pin to the downstream input pin
bool CDXGraph::ConnectFilters(IPin * inOutputPin IPin * inInputPin 
const AM_MEDIA_TYPE * inMediaType)
{
if (mGraph && inOutputPin && inInputPin)
{
HRESULT hr = mGraph->ConnectDirect(inOutputPin inInputPin inMediaType);
return SUCCEEDED(hr) ? true : false;
}
return false;
}

void CDXGraph::DisconnectFilters(IPin * inOutputPin)
{
if (mGraph && inOutputPin)
{
HRESULT hr = mGraph->Disconnect(inOutputPin);
}
}

bool CDXGraph::SetNotifyWindow(HWND inWindow)
{
if (mEvent)
{
mEvent->SetNotifyWindow((OAHWND)inWindow WM_GRAPHNOTIFY 0);
return true;
}
return false;
}

void CDXGraph::HandleEvent(WPARAM inWParam LPARAM inLParam)
{
if (mEvent)
{
LONG eventCode = 0 eventParam1 = 0 eventParam2 = 0;
while (SUCCEEDED(mEvent->GetEvent(&eventCode &eventParam1 &eventParam2 0)))
{
mEvent->FreeEventParams(eventCode eventParam1 eventParam2);
switch (eventCode)
{
case EC_COMPLETE:
break;

case EC_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8045  2013-08-27 16:20  gLottery\gLottery\DXGraph.cpp

     文件       1795  2013-08-27 16:20  gLottery\gLottery\DXGraph.h

     文件     137388  2014-02-13 09:53  gLottery\gLottery\gLottery.aps

     文件       2720  2013-08-30 15:48  gLottery\gLottery\gLottery.cpp

     文件        475  2013-08-30 15:46  gLottery\gLottery\gLottery.h

     文件       9714  2014-02-13 09:53  gLottery\gLottery\gLottery.rc

     文件       7142  2013-08-30 16:42  gLottery\gLottery\gLottery.vcxproj

     文件       2882  2013-08-29 11:15  gLottery\gLottery\gLottery.vcxproj.filters

     文件        623  2013-08-30 16:34  gLottery\gLottery\gLottery.vcxproj.user

     文件      42102  2014-02-13 09:55  gLottery\gLottery\gLotteryDlg.cpp

     文件       3260  2014-02-13 09:51  gLottery\gLottery\gLotteryDlg.h

     文件       3032  2013-08-27 15:28  gLottery\gLottery\ReadMe.txt

     文件      99678  2013-08-30 17:01  gLottery\gLottery\res\gLottery.ico

     文件        672  2013-08-27 15:28  gLottery\gLottery\res\gLottery.rc2

     文件      97566  2013-08-30 10:43  gLottery\gLottery\res\gLottery2.ico

     文件      92102  2013-08-30 16:52  gLottery\gLottery\res\gLottery3.ico

     文件       2374  2013-08-30 15:41  gLottery\gLottery\resource.h

     文件        141  2013-08-27 15:28  gLottery\gLottery\stdafx.cpp

     文件       1632  2013-08-27 15:28  gLottery\gLottery\stdafx.h

     文件      21320  2005-11-18 02:45  gLottery\gLottery\StdioFileEx\StdioFileEx.cpp

     文件       5394  2005-11-18 02:45  gLottery\gLottery\StdioFileEx\StdioFileEx.h

     文件        234  2013-08-27 15:28  gLottery\gLottery\targetver.h

     文件       1388  2013-08-30 14:16  gLottery\gLottery\UniqueRandom\UniqueRandom.cpp

     文件        918  2013-08-30 14:15  gLottery\gLottery\UniqueRandom\UniqueRandom.h

     文件        891  2013-08-27 15:28  gLottery\gLottery.sln

    ..A..H.     27136  2014-02-13 09:55  gLottery\gLottery.suo

     文件    6220854  2013-08-30 19:20  gLottery\Out\bk.bmp

     文件    3656696  2009-05-24 11:57  gLottery\Out\bk.mp3

     文件         72  2013-10-29 18:49  gLottery\Out\config.ini

     文件       1223  2013-12-12 13:32  gLottery\Out\Names.txt

............此处省略16个文件信息

评论

共有 条评论