用MFC实现动画显示窗体

83 篇文章 0 订阅

1)创建一个基于对话框的应用程序。

2)向对话框添加一个文本编辑框控件,Category选择“Value”,变量命名为:m_edit;

3)在XXXDlg.cpp的OnInitDiglog()函数中,添加窗体动画显示效果,代码如下:

m_edit = "此窗体为动画显示窗体。";
	this->UpdateData(false);
	// TODO: Add extra initialization here
	CenterWindow();	//创建窗体
	DWORD dwStyle=AW_CENTER;	//居中
	HINSTANCE hInst=LoadLibrary("User32.DLL"); //载入动态库
	typedef BOOL(WINAPI MYFUNC(HWND,DWORD,DWORD));	//定义函数类型
	MYFUNC* AnimateWindow;	//定义函数指针
	AnimateWindow=(MYFUNC *)::GetProcAddress(hInst,"AnimateWindow");	//获取函数地址
	AnimateWindow(this->m_hWnd,1000,dwStyle);//设置窗体动画
	FreeLibrary(hInst);	//释放动态库


4)打开FileView选项卡,在StdAfx.h 的开始部分,添加如下定义:

#undef  WINVER
#define WINVER 0X500

 5)在XXXDlg.h中添加OnClose()函数的声明,如下

图(1)在XXXDlg.h中,添加OnClose()函数声明

6)在窗体(即XXXDlg.cpp)的关闭事件中,添加窗体的动画代码,代码如下:

void CAnimateWindowDlg::OnClose() 
{
	// TODO: Add your message handler code here and/or call default
	DWORD dwStyle=AW_CENTER;	//居中动画
	HINSTANCE hInst=LoadLibrary("User32.DLL"); //载入动态库
	typedef BOOL(WINAPI MYFUNC(HWND,DWORD,DWORD));//定义函数类型
	MYFUNC* AnimateWindow;//定义函数指针
	AnimateWindow=(MYFUNC *)::GetProcAddress(hInst,"AnimateWindow");//获取函数地址
	AnimateWindow(this->GetSafeHwnd(),700,AW_HIDE|dwStyle);//设置窗体动画
	FreeLibrary(hInst);//释放动态库
	CDialog::OnClose();
}


 



 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要在MFC项目中添加OpenCV库文件和头文件,具步骤如下: 1. 在Visual Studio中打开MFC项目,选择项目名称右键点击,选择属性; 2. 在属性页中,选择“VC++目录”选项卡,找到“包含目录”选项,添加OpenCV的头文件路径,例如:C:\opencv\build\include; 3. 在同一属性页中,找到“库目录”选项,添加OpenCV的库文件路径,例如:C:\opencv\build\x64\vc14\lib; 4. 在同一属性页中,找到“链接器”选项卡,选择“输入”选项,添加OpenCV所需的库文件,例如:opencv_world341d.lib。 添加完库文件和头文件后,就可以开始编写代码了。以下是一个简单的示例: ``` #include "stdafx.h" #include "opencv2\highgui.hpp" #include "opencv2\core.hpp" #include "opencv2\imgproc.hpp" using namespace cv; void CMyDlg::OnBnClickedButtonLoadImage() { // 打开文件对话框 CFileDialog dlg(TRUE); if (dlg.DoModal() == IDOK) { CString strFilePath = dlg.GetPathName(); // 读取图像文件 Mat img = imread(strFilePath.GetBuffer(), CV_LOAD_IMAGE_COLOR); // 显示图像 imshow("Image", img); } } ``` 在这个示例中,我们在MFC对话框中添加了一个按钮“Load Image”,点击按钮后会弹出文件对话框,选择一个图像文件后会加载并显示口中。其中,imread函数用于读取图像文件,imshow函数用于显示图像。需要注意的是,在MFC程序中使用imshow函数需要在头文件中添加"#define CV_NO_BACKWARD_COMPATIBILITY",否则会出现编译错误。 另外,需要在对话框的OnInitDialog函数中添加以下代码,以初始化OpenCV环境: ``` BOOL CMyDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 初始化OpenCV环境 cv::namedWindow("Image", CV_WINDOW_NORMAL); cv::resizeWindow("Image", 640, 480); return TRUE; } ``` 在这个示例中,我们创建了一个名为“Image”的口,并设置了口大小为640x480。需要注意的是,在MFC程序中使用OpenCV的口函数需要先调用namedWindow函数创建口,并在之后的代码中使用口名称来引用口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值