资源描述:
《用vc++制作有滚动字幕效果的软件封面.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、用VC++制作有滚动字幕效果的软件封面在软件启动时,为了加深软件在用户头脑中的印象,可以在软件封面上由下而上循环滚动显示一些包含软件名称、功能、版本、用户名、研制单位等文字信息,在用户按下任意键或点击鼠标键后,立即结束演示进入程序主界面。本文通过向工程中添加Splashscreen组件,然后在CsplashWnd类中添加DrawText成员函数方便地实现了具有滚动文字效果的软件封面,其中文字的位置、对齐方式、字体、字号、颜色都由程序来控制。----详细设计步骤如下:----1.创建一个名为test的SDI或MDI工程;----2.向工程中添加Splash
2、screen组件,即添加一个CWnd类的派生类CsplashWnd;----3.编辑或导入软件封面的位图资源,标识号为IDB_SPLASH;----4.向CsplashWnd类中添加一个公有成员函数DrawText,此函数用来在软件封面中显示文字,函数的实现代码如下:(其中参数含义分别为:内存dc,文字位置,对齐方式,字体,字号,颜色,正文文字)voidCSplashWnd::DrawText(CDC*pDC,intx,inty,intnAlign,CStringsFontName,intnFONTSIZE0,COLORREFcrTextColor,CS
3、tringsText){LOGFONTlf;//字体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()));CFontfont;font.CreateFontIndirect(&lf);CFont
4、*pOldFont=(CFont*)pDC->SelectObject(&font);UINToldAlign,uAlign;switch(nAlign){case0:uAlign=TA_LEFT
5、TA_TOP;break;case1:uAlign=TA_CENTER
6、TA_TOP;break;case2:uAlign=TA_RIGHT
7、TA_TOP;break;default:uAlign=TA_LEFT
8、TA_TOP;break;}oldAlign=pDC->SetTextAlign(uAlign);intoldMode=pDC->SetBkMode
9、(TRANSPARENT);intoldColor=pDC->SetTextColor(crTextColor);pDC->TextOut(x,y,sText);pDC->SetTextColor(oldColor);pDC->SetTextAlign(oldAlign);pDC->SetBkMode(oldMode);pDC->SelectObject(pOldFont);font.DeleteObject();}----5.给CsplashWnd类中添加如下公有成员变量,并初始化变量;classCSplashWnd:publicCWnd{......
10、public:CDCm_dcText,m_dcImage;//显示dc的兼容内存dcCBitmap*m_pBitmap;//位图对象指针CBitmap*m_pOldBitmapText,*m_pOldBitmap;//跟踪内存dc中的原位图CRgnm_rgn;//用于生成矩形区域CRectm_TextRect;//显示文字的矩形区域intm_nCurPos;//文字当前位置......}CSplashWnd::CSplashWnd(){......m_nCurPos=50;......}----6.在SPLASH.CPP中加入以下预定义命令:#defin
11、eTITLECOLORRGB(0,0,255)//默认标题颜色#defineCONTENTCOLORRGB(0,255,255)//默认说明文字颜色#defineFONTSIZE015//默认字号----7.在CsplashWnd类Create函数中拷贝矩形区域到m_TextRect;BOOLCSplashWnd::Create(CWnd*pParentWnd/*=NULL*/){......m_TextRect.CopyRect(&CRect(50,100,500,300));......}----8.在CsplashWnd类的成员函数OnPaint中
12、添加代码,响应显示窗口时发送的WM_PAINT消息。voidCSplashWnd