VS2008 C++ MFC代码实现问题,如何点击一个按钮后弹出一个新窗口,新窗口倒计时十秒后自动关闭的代码。
十分悬赏,能够成功运行实现再送十分。VS2008C++MFC代码实现问题,如何点击一个按钮后弹出一个新窗口,新窗口倒计时十秒后自动关闭的代码。完成后请发到邮箱:cs199...
十分悬赏,能够成功运行实现再送十分。
VS2008 C++ MFC代码实现问题,如何点击一个按钮后弹出一个新窗口,新窗口倒计时十秒后自动关闭的代码。完成后请发到邮箱:cs199007@163.com
部分代码如下(理论上不可以改动,可以添加):
// 123Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "123.h"
#include "123Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CMy123Dlg 对话框
CMy123Dlg::CMy123Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CMy123Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMy123Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CMy123Dlg, CDialog)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
ON_WM_SIZE()
#endif
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON1, &CMy123Dlg::OnBnClickedButton1)
END_MESSAGE_MAP()
// CMy123Dlg 消息处理程序
BOOL CMy123Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CMy123Dlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
if (AfxIsDRAEnabled())
{
DRA::RelayoutDialog(
AfxGetResourceHandle(),
this->m_hWnd,
DRA::GetDisplayMode() != DRA::Portrait ?
MAKEINTRESOURCE(IDD_MY123_DIALOG_WIDE) :
MAKEINTRESOURCE(IDD_MY123_DIALOG));
}
}
#endif
void CMy123Dlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
} 展开
VS2008 C++ MFC代码实现问题,如何点击一个按钮后弹出一个新窗口,新窗口倒计时十秒后自动关闭的代码。完成后请发到邮箱:cs199007@163.com
部分代码如下(理论上不可以改动,可以添加):
// 123Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "123.h"
#include "123Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CMy123Dlg 对话框
CMy123Dlg::CMy123Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CMy123Dlg::IDD, pParent)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMy123Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CMy123Dlg, CDialog)
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
ON_WM_SIZE()
#endif
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON1, &CMy123Dlg::OnBnClickedButton1)
END_MESSAGE_MAP()
// CMy123Dlg 消息处理程序
BOOL CMy123Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
#if defined(_DEVICE_RESOLUTION_AWARE) && !defined(WIN32_PLATFORM_WFSP)
void CMy123Dlg::OnSize(UINT /*nType*/, int /*cx*/, int /*cy*/)
{
if (AfxIsDRAEnabled())
{
DRA::RelayoutDialog(
AfxGetResourceHandle(),
this->m_hWnd,
DRA::GetDisplayMode() != DRA::Portrait ?
MAKEINTRESOURCE(IDD_MY123_DIALOG_WIDE) :
MAKEINTRESOURCE(IDD_MY123_DIALOG));
}
}
#endif
void CMy123Dlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
} 展开
展开全部
CNewDlg dlg;
if(dlg.DoModul())
{
Sleep(10000);
EndDialog(0);
}
if(dlg.DoModul())
{
Sleep(10000);
EndDialog(0);
}
追问
麻烦能不能结合上面的代码,CNewDlg dlg;这句话要加在哪里?
追答
void CMy123Dlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
CNewDLg dlg;
dlg.DoModule;
}
CNewDlg是弹出新窗口所在的类;上面的代码是弹出窗口的显示。为了实习10秒后关闭可以重载Cnewdlg类OnCreate()或者OnDraw()函数添加:
Sleep(10000);
SendMessae(WM_CLOSE);
使用Sleep()函数会造成窗口假死,可以使用多线程
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询