一种可用于系统动态显示关于信息的方法
http://tech.ddvip.com 2006年04月02日 社区交流
本文详细介绍一种可用于系统动态显示关于信息的方法
建立一个用于显示相关信息的对话框资源,修改对话框属性,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);
}
至此,程序基本工作已经完成了,编译运行你的工程看看效果吧.
责编:豆豆技术应用
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……