频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

在VC++.net中制作启动屏幕的新方法

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组
下一页 1 2 

源码下载

  在利用VC++.net编程过程中,遇到制作启动屏幕的问题,几经试验,得出一种方便简单的制作方法。

  基本原理是利用对话框窗口的特性,在启动时首先创建对话框,设置一个获得位图文件的句柄,利用Picture控件的SetBitmap(HBITMAP hBitmap)方法,使位图文件充满整个Picture控件窗口,最后设置定时器,整个启动屏幕就制作完成。

  下面介绍具体实现步骤。

  1. 打开VS.net的开发环境,新建VC++.net中的MFC应用程序,输入工程名称MySample,点击“确定”,“完成”;

  2. 打开资源视图,添加对话框,更改ID为ID_DIALOG_SPLASH,设置对话框Center属性为True,Border属性为“无”;

  3. 在对话框中添加Picture控件,设置Picture控件的ID号为ID_PIC,Type属性为“位图”,Center image属性为True,然后调整标尺使对话框没有外框,调整对话框的大小以适应启动屏幕的要求,调整Picture的宽高使其充满整个对话框窗口;

  4. 双击对话框窗口,弹出类向导对话框,在类名中键入CSplash,选择基类为Cdialog,点击确定,定义控件Picture的控件变量为m_pic;

  5. 在Csplash类中重载OnInitDialog()函数,添加消息WM_CHAR,WM_TIMER,WM_LBUTTONUP,WM_MBUTTONUP,WM_RBUTTONUP;

  6. 在OnInitDialog()函数中添加代码如下:

BOOL CSplash::OnInitDialog()
{  
  CDialog::OnInitDialog();
  //设置启动窗口背景,在整个窗口中充满位图
  CRect lRect;
  m_pic.GetClientRect(&lRect);//得到Picture控件的窗口大小
  lRect.NormalizeRect();  
  //设置位图句柄
  HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,"splash.bmp",//更改你喜欢的位图文件
      IMAGE_BITMAP,lRect.Width(),lRect.Height(),
      LR_LOADFROMFILE|LR_CREATEDIBSECTION);
  m_pic.SetBitmap(hbitmap);
  //设置定时器
  SetTimer(1,500,NULL);  
  return TRUE; 
}

  7. 在OnTimer(UINT nIDEvent) 函数中添加代码如下:

void CSplash::OnTimer(UINT nIDEvent)
{
  static int i;
  i++;
  if(i > 3)
  {
    //销毁定时器
    KillTimer(1);
    this->OnOK();
  }
  CDialog::OnTimer(nIDEvent);
}

  8. 在OnLButtonUp,OnLButtonUp,OnLButtonUp,OnChar函数中加入以下代码:

通告:http://www.qqread.com/dotnet/e351695.html 更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册.NET实用开发专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章