我在点击托盘图标时需要显示一个下载进度的消息对话框,我将托盘动作与OnShowWindow函数关联,动态创建了一个对话框,然后向其上写信息,编译通过,但是程序运行时出错。各位帮我看下是哪的问题?
InfoDlg::InfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(InfoDlg::IDD, pParent) {
//{{AFX_DATA_INIT(InfoDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}//创建一个对话框类的时候我什么都没做void InfoDlg::OnShowWindow()
{
CString totalnum;
m_dlg=new CDialog();
m_dlg->Create(IDD_DIALOG1);
m_dlg->ShowWindow(SW_SHOW);
m_TotalLoad=m_ArrayName.GetSize(); //获得下载文件总数
totalnum.Format("%d",m_TotalLoad);
::SetDlgItemText(m_dlg->m_hWnd,IDC_STATIC2,totalnum);//在STATIC2中显示
::SetDlgItemText(m_dlg->m_hWnd,IDC_STATIC4,m_ArrayName.GetAt(count+1));
//m_ArrayName.GetAt(count+1))获得当前下载文件,在STATIC4中显示
}
InfoDlg::InfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(InfoDlg::IDD, pParent) {
//{{AFX_DATA_INIT(InfoDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}//创建一个对话框类的时候我什么都没做void InfoDlg::OnShowWindow()
{
CString totalnum;
m_dlg=new CDialog();
m_dlg->Create(IDD_DIALOG1);
m_dlg->ShowWindow(SW_SHOW);
m_TotalLoad=m_ArrayName.GetSize(); //获得下载文件总数
totalnum.Format("%d",m_TotalLoad);
::SetDlgItemText(m_dlg->m_hWnd,IDC_STATIC2,totalnum);//在STATIC2中显示
::SetDlgItemText(m_dlg->m_hWnd,IDC_STATIC4,m_ArrayName.GetAt(count+1));
//m_ArrayName.GetAt(count+1))获得当前下载文件,在STATIC4中显示
}
重载一下
重载过了,问题还是没解决。
{
CString totalnum;
if(m_dlg==NULL)
{
m_dlg=new CDialog();
m_dlg-> Create(IDD_DIALOG1);
}
m_dlg-> ShowWindow(SW_SHOW);
m_TotalLoad=m_ArrayName.GetSize(); //获得下载文件总数
totalnum.Format("%d",m_TotalLoad);
::SetDlgItemText(m_dlg-> m_hWnd,IDC_STATIC2,totalnum);//在STATIC2中显示
::SetDlgItemText(m_dlg-> m_hWnd,IDC_STATIC4,m_ArrayName.GetAt(count+1));
//m_ArrayName.GetAt(count+1))获得当前下载文件,在STATIC4中显示
}