File:  [WindowsNT SDKs] / mstools / mfc / samples / tracer / tracer.cpp
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 18:21:00 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: ntsdk-oct-1992, ntsdk-jun-1992, ntsdk-jul-1993, HEAD
Microsoft Windows NT Build 297 06-28-1992

// tracer.cpp : MFC Windows trace control application
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and Microsoft
// QuickHelp documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#include <afxwin.h>

/////////////////////////////////////////////////////////////////////////////
// Dialog class

class CPromptDlg : public CModalDialog
{
	BOOL    m_bEnabled;
	UINT    m_flags;
public:
	CPromptDlg();

	void Save();

	BOOL OnInitDialog();
	void OnOK();
};

static char BASED_CODE szIniFile[] = "AFX.INI";
static char BASED_CODE szDiagSection[] = "Diagnostics";

CPromptDlg::CPromptDlg()
	: CModalDialog("PROMPT")
{
	m_bEnabled = ::GetPrivateProfileInt(szDiagSection, "TraceEnabled", 
		FALSE, szIniFile);
	m_flags = ::GetPrivateProfileInt(szDiagSection, "TraceFlags", 
		0, szIniFile);
}

void CPromptDlg::Save()
{
	char szT[32];
	wsprintf(szT, "%d", m_bEnabled);

	if (!::WritePrivateProfileString(szDiagSection, "TraceEnabled", 
		szT, szIniFile))
	{
		MessageBox("Unable to Write to Initialization File",
			"Tracer", MB_ICONEXCLAMATION);
	}

	wsprintf(szT, "%d", m_flags);
	if (!::WritePrivateProfileString(szDiagSection, "TraceFlags", szT, 
		szIniFile))
	{
		MessageBox("Unable to Write to Initialization File",
			"Tracer", MB_ICONEXCLAMATION);
	}    
}

BOOL CPromptDlg::OnInitDialog()
{
	if (m_bEnabled)
		((CButton*)GetDlgItem(512))->SetCheck(TRUE);

	for (int i = 0; i < 5; i++)
	{
		CButton* pCheck = (CButton*)GetDlgItem(256 + i);
		if (pCheck == NULL)
			break;      // no more checkboxes
		if (m_flags & (1 << i))
			pCheck->SetCheck(TRUE);
	}
	return TRUE;
}

void CPromptDlg::OnOK()
{
	m_bEnabled = ((CButton*)GetDlgItem(512))->GetCheck();
	m_flags = 0;

	for (int i = 0; i < 5; i++)
	{
		CButton* pCheck = (CButton*)GetDlgItem(256 + i);
		if (pCheck == NULL)
			break;      // no more checkboxes
		if (pCheck->GetCheck())
			m_flags |= (1 << i);
	}
	EndDialog(IDOK);
}

/////////////////////////////////////////////////////////////////////////////
// Application class

class CTracerApp : public CWinApp
{
public:
	virtual BOOL InitInstance();
};

CTracerApp theTracerApp;

BOOL CTracerApp::InitInstance()
{
	CPromptDlg  dlg;

	if (dlg.DoModal() == IDOK)
		dlg.Save();

	::PostQuitMessage(0);       // Exit application
	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.