首页 > 编程知识 正文

小球弹来弹去消除数字,c语言猜数字游戏代码

时间:2023-05-04 01:45:47 阅读:114428 作者:3814

满意的回答

lgnosa

推荐使用2016.10.01

通过率: 59%等级: 11

帮助: 4654人

软件启动时,为了在用户脑海中加深软件形象,在软件封面上自下而上滚动显示软件名称、功能、版本、用户名、研发公司等文字信息,用户按任意键或妈妈在本文中,软件具有滚动效果,可通过将Splash screen组件添加到项目中并将DrawText成员添加到CsplashWnd类中来控制字符的位置、对齐方式、字体、大小和颜色

---详细的设计步骤如下。

----1 .创建名为test的SDI或MDI项目;

---- 2 .将Splash screen组件添加到项目中。 即,添加CWnd类的派生类CsplashWnd;

---- 3 .编辑或导入软件覆盖的位图资源。 识别号码为IDB_SPLASH;

----4 .将公共成员函数DrawText添加到csplashwnd类中。 此函数用于在软件封面上显示文本。 的实现代码如下: (

voidcsplashwnd :3360 drawtext (CDC * PDC、

int x、int y、int nAlign,

CString sFontName,int nFONTSIZE0,

COLORREF crTextColor,CString sText )

{

LOGFONT lf; //字体

lf.lfStrikeOut=0; //删除线

lf.lfCharSet=DEFAULT_CHARSET; //字符集

lf.lfEscapement=0; //角度

lf.lfItalic=0; //倾斜

lf.lfUnderline=0; //下划线

lf.lfHeight=nFONTSIZE0; //大小

strcpy(lf.lfFacename,sFaceName )。

getbuffer(sfontname.getlength ) );

Cfont字体;

font.createfontindirect(lf;

CFont *pOldFont=(CFont * )

PDC -选择对象(字体;

单元old align,uAlign;

交换机(n align ) )。

{

case 0: u align=ta _ left|ta _ top; 布雷克;

case 1: u align=ta _ center|ta _ top; 布雷克;

case 2: u align=ta _ right|ta _ top; 布雷克;

d fault : u align=ta _ left|ta _ top; 布雷克;

}

old align=PDC-settext align (u align );

intoldmode=PDC-setb kmode (传输);

in told color=PDC-settext color (Cr text color );

PDC-textout(x,y,sText );

PDC-settextcolor(oldcolor );

PDC-settextalign(Oldalign;

PDC-setb kmode (old模式;

PDC-select object (轮询字体;

font.DeleteObject (;

}

----5 .将以下公共成员变量添加到csplashwnd类中并初始化变量:

class csplashwnd :公共cwnd

{

.

公共:

CDC m_dcText,m_dcImage; 显示//dc的兼容存储器DC

CBitmap* m_pBitmap; //位图对象

CBitmap* m_pOldBitmapText,

*m_pOldBitmap; //跟踪内存dc中的原始位图

CRgn m_rgn; 为了生成//矩形区域

CRect m_TextRect; //显示文字的矩形区域

int m_nCurPos; //字符的当前位置

.

}

CSplashWnd:CSplashWnd ()。

{ .

m_nCurPos=50;

.

}

--- -将以下预定义命令添加到6.splash.CPP中:

#definetitlecolorRGB(0、0、255 )//默认标题颜色

# definecontentcolorrgb (0,255,255 )//默认说明文颜色

#define FONTSIZE0 15 //默认大小

----7 .在csplashwnd类Create中将矩形区域复制到m_TextRect中;

BOOL CSplashWnd:Create

(CWnd* pParentWnd /*=NULL*/)

{ .

m_TextRect.CopyRect

(crect (50,100,500,300 );

.

}

----8 .将代码添加到csplashwnd类的成员OnPaint中,并响应显示窗口时发送的WM_PAINT消息。

void CSplashWnd:OnPaint (

{

caintDCDC(this;

位图Bm;

m_bitmap.getbitmap(BM;

静态bool b first=true; //

指示是否首次绘制窗口

if(bfirst ) ) )。

{

if (! m _ DC image.createcompatibledc (DC ) ) return;

m _ p oldbitmap=m _ DC image.select object (m _ bitmap );

if (! m_DCtext.createcompatibledc(DC ) ) return;

m_pBitmap=new CBitmap;

int nbitcount=m _ DC text.getdevicecaps (bits pixel;

m_pBitmap-CreateBitmap

(bm.bmWidth,bm.bmHeight,1,nBitCount,NULL );

m _ poldbitmaptext=m _ DC text.select object (m _ pbitmap );

m _ rgn.createrectrgn (m _ text rect.left,m_TextRect.top,

m_TextRect.right,m_TextRect.bottom;

bFirst=FALSE;

}

m_DCtext.selectcliprgn(null;

m _ DC text.bitblt (0,0,bm.bmWidth,

bm.bmHeight,m_dcImage,0,0,SRCCOPY;

m_DCtext.selectcliprgn(m_rgn;

int nBasex=m_TextRect.left;

intnbasey=m _ text rect.bottom-m _ n curpos;

intn midx=m _ text rect.leftm _ text rect.width ()/2;

drawtext(m_DCtext,nMidx,nBasey,1,

'楷体_GB2312 ',FONTSIZE0 5,TITLECOLOR,'研发单位';

drawtext(m_DCtext,nMidx,NBA sey 30,1,

'楷体_GB2312 ',FONTSIZE0,CONTENTCOLOR,

“武警指挥学院仿真中心”

drawtext(m_DCtext,nMidx,NBA sey 50,1,

'楷体_GB2312 ',字体0,标题颜色,'邮政编码';

drawtext(m_DCtext,nMidx,NBA sey 70,1,

'楷体_GB2312 ',FONTSIZE0,CONTENTCOLOR,' 300350 ';

DC.bitblt (0,0,bm.bmWidth,

bm.bmHeight,m_dcText,0,0,SRCCOPY;

}

30共享举报

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。