//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
//  
// HeapAllocation.cpp : Definiuje zachowania klasy dla aplikacji.
//

#include "stdafx.h"
#include "HeapAllocation.h"
#include "HeapAllocationDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CHeapAllocationApp

BEGIN_MESSAGE_MAP(CHeapAllocationApp, CWinApp)
	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()


// Tworzenie CHeapAllocationApp

CHeapAllocationApp::CHeapAllocationApp()
{
	// TODO: dodanie kodu konstruktora
	// Najważniejsze informacje inicjalizujące powinny znaleźć się w InitInstance
}


// Jedyny obiekt CHeapAllocationApp

CHeapAllocationApp theApp;


// Inicjalizacja CHeapAllocationApp

BOOL CHeapAllocationApp::InitInstance()
{
	// InitCommonControls() jest wymagana w systemie Windows XP, jeśli manifest
	// aplikacji nakazuje użycie ComCtl32.dll w wersji 6 lub nowszej w celu 
	// włączenia styli wizualnych. W przeciwnym wypadku tworzenie okien nie powiedzie się.
	InitCommonControls();

	CWinApp::InitInstance();


	CHeapAllocationDlg dlg;
	m_pMainWnd = &dlg;
	INT_PTR nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Należy dodać kod wykonywany po zamknięciu okna dialogowego
		//  poprzez przycisk OK.
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Należy dodać kod wykonywany po zamknięciu okna dialogowego
		//  poprzez przycisk Anuluj.
	}

	// Ponieważ okno dialogowe zostało zamknięte, należy zwrócić FALSE, dzięki czemu
	//  nastąpi wyjście z aplikacji, a nie uruchomienie pompy wiadomości aplikacji.
	return FALSE;
}
