WEB开发网
开发学院软件开发VC 一种可用于系统动态显示关于信息的方法 阅读

一种可用于系统动态显示关于信息的方法

 2009-11-11 20:30:07 来源:WEB开发网   
核心提示:到这里,基本准备工作我们已经完成了,下面的任务是贴背景位图和创建显示的对话框.贴背景位图:装载背景位图,映射VIEW的WM_PAITN消息,然后贴上背景位图,同时映射WM_EARSEBKGND消息,去处屏幕的擦除工作,将返回语句修改成为:return TRUE就可以了.void CAboutDemoView::OnPa

到这里,基本准备工作我们已经完成了,下面的任务是贴背景位图和创建显示的对话框.

贴背景位图:装载背景位图,映射VIEW的WM_PAITN消息,然后贴上背景位图,同时映射WM_EARSEBKGND消息,去处屏幕的擦除工作,将返回语句修改成为:return TRUE就可以了.

void CAboutDemoView::OnPaint()
{
// TODO: Add your message handler code here
CPaintDC dc(this); // device context for painting
HBITMAP hbitmap;
hbitmap=::LoadBitmap(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BACKBMP));
HDC hMenDC=::CreateCompatibleDC(NULL);
SelectObject(hMenDC,hbitmap);
::StretchBlt(dc.m_hDC,0,0,1024,768,hMenDC,0,0,1024,768,SRCCOPY);
::DeleteDC(hMenDC);
::DeleteObject(hbitmap);
// Do not call CView::OnPaint() for painting messages
}

建立一个用于显示相关信息的对话框资源,修改对话框属性,Style->Popup,Border->None;并建立对话框类CShowAboutDlg;然后在对话框上面放置一个CSTATIC控件,并调整位置.

在VIEW中创建这个无模式的对话框然后显示:

CShowAboutDlg *m_pAboutDlg;

CRect rect;

m_pAboutDlg = new CShowAboutDlg();

m_pAboutDlg->Create(IDD_ABOUT);

m_pAboutDlg->MoveWindow(CRect(18,18,::GetSystemMetrics(SM_CXSCREEN)-13,::GetSystemMetrics(SM_CYSCREEN)-16),TRUE); //因为背景图片有一个边框,所以这里应该吧那个位置留出来

m_pAboutDlg->GetClientRect(&rect);

m_pAboutDlg->m_AboutCtrl.MoveWindow(rect,TRUE);//是这个PIC控件占满对话框客户区域

m_pAboutDlg->ShowWindow(SW_SHOW);

下面就是加入字模显示控件类的文件了.将ZgMemDC ,ZgDraw.h,ZgDraw.cpp,TitleShow.h,TitleShow.cpp,PublicClass.cpp,PublicClass.h加入工程,然后加入AutoFont.h和AutoFont.cpp,这个类功能不用说了,在上篇文章中我已经介绍了.在那位提供字模显示控件类的基础上,我修改了其中的适量代码,进行了文字显示方面的修改,因为那个原来的类的字体不适合我们现在系统显示的要求(^_^).

然后就是在对话框类中加载显示消息就可以了.

定义显示CSTATIC类对象位TitleShow,然后在初始化里面添加你的信息显示内容:

****

其中还有一步就是截获回车和ESC键对对话框的退出工作.

BOOL CShowAboutDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message == WM_KEYDOWN)
{
switch(pMsg->wParam)
{
case VK_RETURN:
return TRUE;
case VK_ESCAPE:
return TRUE;
}
}
return CDialog::PreTranslateMessage(pMsg);
}

至此,程序基本工作已经完成了,编译运行你的工程看看效果吧.

上一页  1 2 

Tags:用于 动态

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