简易抽奖软件含源码


因为公司在年会的时候要抽奖,在网上下载的抽奖软件多少不符合要求,于是自己写了一个,写的比较粗糙,希望能对一些刚开始学习的人有点帮助吧。软件使用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  gLotterygLotteryDXGraph.cpp

     文件       1795  2013-08-27 16:20  gLotterygLotteryDXGraph.h

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

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

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

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

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

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

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

     文件      42102  2014-02-13 09:55  gLotterygLotterygLotteryDlg.cpp

     文件       3260  2014-02-13 09:51  gLotterygLotterygLotteryDlg.h

     文件       3032  2013-08-27 15:28  gLotterygLotteryReadMe.txt

     文件      99678  2013-08-30 17:01  gLotterygLottery
esgLottery.ico

     文件        672  2013-08-27 15:28  gLotterygLottery
esgLottery.rc2

     文件      97566  2013-08-30 10:43  gLotterygLottery
esgLottery2.ico

     文件      92102  2013-08-30 16:52  gLotterygLottery
esgLottery3.ico

     文件       2374  2013-08-30 15:41  gLotterygLottery
esource.h

     文件        141  2013-08-27 15:28  gLotterygLotterystdafx.cpp

     文件       1632  2013-08-27 15:28  gLotterygLotterystdafx.h

     文件      21320  2005-11-18 02:45  gLotterygLotteryStdioFileExStdioFileEx.cpp

     文件       5394  2005-11-18 02:45  gLotterygLotteryStdioFileExStdioFileEx.h

     文件        234  2013-08-27 15:28  gLotterygLottery argetver.h

     文件       1388  2013-08-30 14:16  gLotterygLotteryUniqueRandomUniqueRandom.cpp

     文件        918  2013-08-30 14:15  gLotterygLotteryUniqueRandomUniqueRandom.h

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

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

     文件    6220854  2013-08-30 19:20  gLotteryOutk.bmp

     文件    3656696  2009-05-24 11:57  gLotteryOutk.mp3

     文件         72  2013-10-29 18:49  gLotteryOutconfig.ini

     文件       1223  2013-12-12 13:32  gLotteryOutNames.txt

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)