WEB开发网
开发学院软件开发VC 用VC制作带有滚动字幕的软件封面 阅读

用VC制作带有滚动字幕的软件封面

 2008-11-13 19:32:14 来源:WEB开发网   
核心提示:软件启动时,常常需要自下而上循环滚动显示一些诸如软件名称、功能、版本、用户名、研制单位等信息的文字,用VC制作带有滚动字幕的软件封面,在用户按任意键或点击鼠标键后,立即结束演示进入程序主界面,nalign:对齐方式//sfont:字体,nfontsize0:字号, 本文在vc中通过向工程中添加splash screen

软件启动时,常常需要自下而上循环滚动显示一些诸如软件名称、功能、版本、用户名、研制单位等信息的文字,在用户按任意键或点击鼠标键后,立即结束演示进入程序主界面。

本文在vc中通过向工程中添加splash screen组件,然后扩展csplashwnd类方便地实现了这一功能。设计步骤如下:

1.创建一个名为test的sdi工程;

2.向工程中添加splash screen组件,即添加csplashwnd类;

3.导入软件封面的位图资源,标识号为idb_splash;

4.向csplashwnd类中添加函数drawtext,在软件封面中显示文字。代码如下:

void csplashwnd::drawtext(cdc *pdc, int x, int y, int nalign,
cstring sfontname, int nfontsize0,colorref crtextcolor, cstring stext)
{ //pdc:内存dc,x,y:文字位置,nalign:对齐方式
//sfont:字体,nfontsize0:字号,crtextcolor:文字颜色,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 ;
font.createfontindirect(&lf);
cfont *poldfont = (cfont *)pdc->selectobject(&font);
uint oldalign,ualign ;
switch(nalign)
{
case 0: ualign = ta_left | ta_top ; break;
case 1: ualign = ta_center | ta_top; break;
case 2: ualign = ta_right | ta_top ; break;
default: ualign = ta_left | ta_top ; break;
}
oldalign = pdc->settextalign(ualign);
int oldmode = pdc->setbkmode(transparent);
int oldcolor = pdc->settextcolor(crtextcolor) ;
pdc->textout(x,y,stext);pdc->settextcolor(oldcolor) ;
pdc->settextalign(oldalign);
pdc->setbkmode(oldmode);
pdc->selectobject(poldfont);
font.deleteobject();
}

1 2  下一页

Tags:VC 制作 带有

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接