滑动对话框窗口

时间:2020-08-11 09:28:01   收藏:0   阅读:82

这个源代码是为建立一个滑动对话框,一个幻灯片从另一个对话框。我见过有人这样做过,但是这段代码更容易理解,我用一种不同的(更好的)方式实现了它。OnTop类可以用于任何对话框。甚至可以有多个滑动对话框与父对话框相关联。 步骤到一个工作滑动对话框 创建一个基于MFC对话框的应用程序。 使用资源编辑器创建对话框资源,然后使用类向导创建与对话框资源关联的对话框类。 将SlidingSon.h和SlidingSon.cpp添加到您的工作区 在对话框类标题中添加一个SlideSon.h include指令。 在新创建的对话框类中,将相关头文件中的基类从CDialog替换为CSlideSon。 在对话框的实现文件中执行相同的操作。不要忘记替换BEGIN_MESSAGE_MAP声明中的类名。 为了使这个对话框是非模态的,添加一个create成员函数到你的对话框头,不带参数。 在对话框的实现文件中添加如下创建函数:复制Codereturn CSlideSon::Create(< >您的对话框类名>>: IDD); 在主应用程序对话框中添加一个按钮来打开/关闭滑动对话框,或者使用任何其他事件来打开滑动对话框。 我建议在您的主应用程序对话框类中添加一个布尔值,它将指示SlidingSon的状态。因为我们创建了一个非模态对话框,所以您必须添加一个成员变量,它将指向您的滑动对话框类对象。隐藏,复制你的滑动对话框类名。 当您希望滑出对话框时,请在您的应用程序对话框事件处理程序中使用以下代码:复制Codem_pModeless = new <<你的滑动对话框类名>>(this); if (< > Your滑动对话框class name>→GetSafeHwnd () = = 0) { m_pModeless→创建(); m_pModeless→SetSlideSpeed (10); m_pModeless→SetSlideDirection(右); m_pModeless→StartSlide (); } 注意,您可以使用整数值和滑动方向(右、左)来控制滑动速度 当你想关闭对话框时,请使用以下代码:复制Codem_pModeless→Close (); 删除m_pModelles; 当您按下滑动对话框的cancel\ok按钮时,要将对话框滑回,请在隐藏后添加以下一行复制CodeON_MESSAGE(wm_close_slide,OnClose) // OnClose或任何事件处理 / /函数 您可以在SlidingSon.cpp中更改滑动对话框与其父对话框之间的比例 捕捉主应用程序对话框的OnMove()事件,并调用m_pmodel ->RePosition(),以更新滑动对话框的位置。 本文转载于:http://www.diyabc.com/frontweb/news12111.html

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!