home *** CD-ROM | disk | FTP | other *** search
- // MyDialog.cpp: implementation of the CMyDialog class.
- //
- /*
- Copyright 2001 Anish Mistry. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY ANISH MISTRY ``AS IS'' AND ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS
- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- The views and conclusions contained in the software and documentation are those
- of the authors and should not be interpreted as representing official policies,
- either expressed or implied, of Anish Mistry or AM Productions.
-
- * Variation of the FreeBSD License. http://www.freebsd.org/copyright/freebsd-license.html
- */
- //////////////////////////////////////////////////////////////////////
-
- #include "stdafx.h"
- #include "MyDialog.h"
-
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
-
- CMyDialog::CMyDialog()
- {// begin CMyDialog #1
- m_hInstance = NULL;
- m_hDlg = NULL;
- // init the ThunkData with the this pointer so that this can be subclassed
- ThunkInit(m_Thunk, this);
- }// end CMyDialog #1
-
- CMyDialog::~CMyDialog()
- {// begin ~CMyDialog
- if(m_hDlg)
- EndDialog(false);
- m_hDlg = NULL;
- }// end ~CMyDialog
-
- LRESULT CMyDialog::DlgProc(HWND hDlg,UINT nMessage,WPARAM wParam,LPARAM lParam)
- {// begin DlgProc
-
- switch (nMessage)
- {
- case WM_INITDIALOG:
- return OnInitDialog(hDlg);
- case WM_COMMAND:
- return (LRESULT)OnCommand(wParam,lParam);
- }
- return false;
-
- }// end DlgProc
-
- bool CMyDialog::Init(HINSTANCE hInstance,HWND hParent,unsigned long nTemplateID,bool bDoModal)
- {// begin Init
- if(m_hDlg)
- return false;
- // save instance handle
- m_hInstance = hInstance;
- if(bDoModal)
- {// begin create modal dialog box
- if(0 > DialogBox(hInstance,MAKEINTRESOURCE(nTemplateID),hParent,(DLGPROC)(void *)m_Thunk))
- return false;
- return true;
- }// end create modal dialog box
- m_hDlg = CreateDialog(hInstance,MAKEINTRESOURCE(nTemplateID),hParent,(DLGPROC)(void *)m_Thunk);
- ShowWindow(m_hDlg,SW_SHOW);
- if(!m_hDlg)
- return false;
- return true;
- }// end Init
-
- bool CMyDialog::OnCommand(WPARAM wParam, LPARAM lParam)
- {// begin OnCommand
- int nID = LOWORD(wParam);
- // int nEvent = HIWORD(wParam);
- // Parse the menu selections:
- switch (nID)
- {// begin parse controls
- case IDOK:
- return EndDialog(nID);
- case IDCANCEL:
- return EndDialog(nID);
- default:
- return true;
- }// end parse controls
- }// end OnCommand
-
- bool CMyDialog::EndDialog(unsigned long nID)
- {// begin EndDialog
- return (bool)::EndDialog(m_hDlg,nID);
- }// end EndDialog
-
- bool CMyDialog::OnInitDialog(HWND hDlg)
- {// begin OnInitDialog
- m_hDlg = hDlg;
- return true;
- }// end OnInitDialog
-
- HWND CMyDialog::GetSafeHwnd()
- {// begin GetSafeHwnd
- return m_hDlg;
- }// end GetSafeHwnd
-