MFC设置对话框定时显示60秒,然后自动弹出另外一个对话框。怎么给对话框添加最大化最小化按钮。
如题VS2005中,属性中没有最大化最小化按钮。设置一个对话框显示60秒后,自动弹出另外一个对话框。要用定时器么,怎么用,第一个对话框中我已经使用定时器显示系统时间。CA...
如题VS2005中,属性中没有最大化最小化按钮。设置一个对话框显示60秒后,自动弹出另外一个对话框。要用定时器么,怎么用,第一个对话框中我已经使用定时器显示系统时间。
CAnalyzerDlg::OnInitDialog()中添加SetTimer(0,1000,NULL); CAnalyzerDlg中定义CAnalyzerMain *p;
CAnalyzerDlg::CAnalyzerDlg(CWnd* pParent /*=NULL*/): CDialog(CAnalyzerDlg::IDD, pParent)中p = NULL;
OnTimer
忘了说是我是建的时能设备->MFC只能设备应用程序,在wince 6.0 上运行的
static int i = 3;
CString s;
s.Format("%d秒后显示另一个对话框", i--);
if(i==-1)
{
KillTimer(0);
p = new CDlg;
p->Create(IDD_DIALOG1);
p->ShowWindow(SW_SHOW);
}
CDialog::OnTimer(nIDEvent);
void CMfcdlg2015Dlg::OnClose()
{
if(p)
{
p->DestroyWindow();
delete p;
}
CDialog::OnClose();
} 展开
CAnalyzerDlg::OnInitDialog()中添加SetTimer(0,1000,NULL); CAnalyzerDlg中定义CAnalyzerMain *p;
CAnalyzerDlg::CAnalyzerDlg(CWnd* pParent /*=NULL*/): CDialog(CAnalyzerDlg::IDD, pParent)中p = NULL;
OnTimer
忘了说是我是建的时能设备->MFC只能设备应用程序,在wince 6.0 上运行的
static int i = 3;
CString s;
s.Format("%d秒后显示另一个对话框", i--);
if(i==-1)
{
KillTimer(0);
p = new CDlg;
p->Create(IDD_DIALOG1);
p->ShowWindow(SW_SHOW);
}
CDialog::OnTimer(nIDEvent);
void CMfcdlg2015Dlg::OnClose()
{
if(p)
{
p->DestroyWindow();
delete p;
}
CDialog::OnClose();
} 展开
展开全部
Get、SetWindowLong
vc6mfc对话框工程, 插入另一个对话框资源 类向导给他建立类
主对话框头文件 中添加新加的类的头文件
主对话框类 定义中添加新类的指针 (用于建立非模态的新对话框)
主对话类添加WM_CLOSE 、WM_TIMER消息响应函数
主对话框类OnInitDialog SetTimer启动定时器
主对话框类OnTimer函数定义static变量用于倒计时
没事WM_TIMER消息来i--
判断是否减到-1,减到-1 KillTimer停止定时器 且 p = new CDlg
p-Create... 建立非模态对话框
在ShowWindow之前 Get、SetWindowLong 修改窗口样式
OnClose中delete new的指针
当然你可以自己去试验 把 修改窗口样式那段写到 新对话框的OnInitDialog中
更多追问追答
追问
我按照你的步骤试了,没实现啊。另外我的主对话框中已经有一个定时器,用来显示系统时间的,这个会不会冲突,但是编译的时候没错误。第二个对话框也有最大化最小化按钮,能不能把步骤写的详细些,你的代码中没有注释,不是很清楚,大侠谢了,麻烦你再回一下,给你加分分。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询