电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C++/VC>>VC++实现动画弹出/弹入式窗口之二:

VC++实现动画弹出/弹入式窗口之二

来源:远方网络 | 2006-1-6 | (有2241人读过)

二、 编程步骤

  1、 启动Visual C++6.0,生成一个单文档视图结构的应用程序,程序命名为"AnmiateWindow";

  2、 使用Class Wizard在CMainFrame类中增加WM_CLOSE消息处理函数;

  3、 添加代码,编译运行程序;

  三、 程序代码

  

  ////////////////////////////////////////////////////

  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

  {

   if (CFrameWnd::OnCreate(lpCreateStruct) == -1)

    return -1;

   if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD   WS_VISIBLE  

  CBRS_TOP  CBRS_GRIPPER   CBRS_TOOLTIPS   CBRS_FLYBY  

  CBRS_SIZE_DYNAMIC)   !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))

   {

    TRACE0("Failed to create toolbarn");

    return -1; // fail to create

   }

   if (!m_wndStatusBar.Create(this)   !m_wndStatusBar.SetIndicators(indicators,

  sizeof(indicators)/sizeof(UINT)))

   {

    TRACE0("Failed to create status barn");

    return -1; // fail to create

   }

   // TODO: Delete these three lines if you don’t want the toolbar to

   // be dockable

   m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

   EnableDocking(CBRS_ALIGN_ANY);

   DockControlBar(&m_wndToolBar);

   CenterWindow();//使窗口运行时居于屏幕正中央

   AnimateWindow(GetSafeHwnd(),500,AW_CENTER);//动画方式打开窗口

   return 0;

  }

  void CMainFrame::OnClose()

  {

   // TODO: Add your message handler code here and/or call default

   AnimateWindow(GetSafeHwnd(),500,AW_CENTER AW_HIDE);

   //在窗口关闭时,同样以动画的方式结束

   CFrameWnd::OnClose();

  }

  

  void CMainFrame::OnUpdateFrameTitle(BOOL Nada)

  {

   //本函数用于修改窗口标题栏

   CString csAppName;

   csAppName.Format(AFX_IDS_APP_TITLE);

   SetWindowText("Visual C++6.0编程序实例");

  }

  四、小结

  上面我们使用API函数实现了窗口的动态弹出与弹入,还有一种办法可以达到同样的效果,就是使用定时器,定时修改一个矩形尺寸的大小,然后用MoveWindow ()函数将当前窗口移动到该矩形位置上显示。有兴趣的读者朋友可以按照这个思路动手实验一下。
C++/VC热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号