Re: SW_SHOW & SW_HIDE
Thanks ALiR,
If I input like what you suggested:
ShowWindow(SW_HIDE);
CMyDlg2 Dlg;
Dlg.DoModal();
ShowWindow(SW_SHOW);
I got error at line CMyDlg2 Dlg:
error C2146: syntax error : missing ';' before identifier
'Dlg'
warning C4551: function call missing argument list
error C2065: 'Dlg' : undeclared identifier
error C2228: left of '.DoModal' must have class/struct/
union type
Seems declaration of CMyDlg2 not work in CMyDlg1
On Dec 6, 12:24 am, "AliR \(VC++ MVP\)" <A...@online.nospam> wrote:
void CMyDlg1 ::OnTimer(UINT nIDEvent)
{
....
status = MY_OWN_API_FUNCTION(....)
if (status = 0)
{
// how can I hide this IDD_MYDIALOG1 and also hide MainFrameWindow, an=
d
load IDD_MYDIALOG2 in easiest way ?
//it sounds like the main frame is already hidden=
since dlg 1 is
up and running.
ShowWindow(SW_HIDE);
CMyDlg2 Dlg;
Dlg.DoModal();
ShowWindow(SW_SHOW);
}
...
...
}
AliR.
<aloha...@gmail.com> wrote in message
news:a3c6ef64-123d-43fd-9b3c-3f52fa43db18@a26g2000prf.googlegroups.com...
Hi Guru,
I'm using SDI application
I got two dialogs in resource :
IDD_MYDIALOG1 (class CMyDlg1) and
IDD_MYDIALOG2 (class CMyDlg2)
After click the menu ID_TESTDIALOG, it loads IDD_MYDIALOG1, and hide
the Main Frame window, and then it run some timer, and after it meet
some
condition, it will load IDD_MYDIALOG2 and hide both IDD_MYDIALOG1 &
Main Frame window.
Close/destroy IDD_MYDIALOG2 or click save button (OnBtnSave() ) in
IDD_MYDIALOG2 will return to IDD_MYDIALOG1 (while Main frame window
still hide)
Close/destroy IDD_MYDIALOG1 will return to Main Frame Window
In Timer function below, what should I code to hide IDD_MYDIALOG1/Main
frame window and load IDD_MYDIALOG2 ?
In OnBtnSave(), how to return to IDD_MYDIALOG1 with main frame window
hide ?
*****************************************************
BEGIN_MESSAGE_MAP(CMainApp, CWinApp)
//{{AFX_MSG_MAP(CMainApp)
ON_COMMAND(ID_TESTDIALOG, OnDialog1Action)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
class CMyDlg1 : public CDialog
{
public:
CMyDlg1();
//{{AFX_DATA(CMyDlg1)
enum { IDD = IDD_MYDIALOG1 };
...
}
void CMainApp::OnDialog1Action()
{
CMyDlg1 Dlg1;
this->GetMainWnd()->ShowWindow(SW_HIDE);
Dlg1.DoModal();
this->GetMainWnd()->ShowWindow(SW_SHOW);
}
void CMyDlg1 ::OnTimer(UINT nIDEvent)
{
....
status = MY_OWN_API_FUNCTION(....)
if (status = 0)
{
// how can I hide this IDD_MYDIALOG1 and also hide MainFrameWindow,
and load IDD_MYDIALOG2 in easiest way ?
}
...
...
}
/////////////////////////////////
class CMyDlg2 : public CDialog
{
public:
CMyDlg2();
//{{AFX_DATA(CMyDlg2)
enum { IDD = IDD_MYDIALOG2 };
...
//{{AFX_MSG(CMyDlg2)
// No message handlers
afx_msg void OnBtnSave();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
...
}
BEGIN_MESSAGE_MAP(CMyDlg2, CDialog)
//{{AFX_MSG_MAP(CMyDlg2)
ON_BN_CLICKED(IDC_BtnSave, OnBtnSave)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CMyDlg2::OnBtnSave()
{
// TODO
// save to DB
// how to return to IDD_MYDIALOG1 with main frame window hid=
e in
easiest way ?
}
Many thanks.
Regards.