我做了一个程序 在初始化时,我加载了一个非模态对话框,对话框上有一个静态文本控件“程序初始化 . . .”
在程序初始化前,加入以下代码:
WaitDlg* dlg=new WaitDlg();
dlg->Create(IDD_WAIT,this);
dlg->ShowWindow(SW_SHOW);
但程序初始化时,只显示了空白的对话框,并没有显示静态文本控件“程序初始化 . . .”,不知是为什么?
在程序初始化前,加入以下代码:
WaitDlg* dlg=new WaitDlg();
dlg->Create(IDD_WAIT,this);
dlg->ShowWindow(SW_SHOW);
但程序初始化时,只显示了空白的对话框,并没有显示静态文本控件“程序初始化 . . .”,不知是为什么?
是不是visible为false了
WaitDlg* dlg=new WaitDlg();
dlg->Create(IDD_WAIT,this);
dlg->ShowWindow(SW_SHOW); AfxMessageBox("启动错误");
我在后面加上AfxMessageBox这个消息框,上面的非模态对话框就会出现文字了
WaitDlg::WaitDlg(CWnd* pParent /*=NULL*/)
: CDialog(WaitDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(WaitDlg)
m_msg = _T("程序启动中,请稍后.......");
//}}AFX_DATA_INIT
}
void WaitDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(WaitDlg)
DDX_Text(pDX, IDC_MSG, m_msg);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(WaitDlg, CDialog)
//{{AFX_MSG_MAP(WaitDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////
// WaitDlg message handlersBOOL WaitDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_msg="程序启动中,请稍后.......";
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
这个是非模态的对话框的代码
DDX_Text(pDX, IDC_MSG, m_msg);
那么你的OnInitDialog中就没有必要加上UpdateData(FALSE);这句了