Annotation of mstools/mfc/samples/dlltrace/tracer.cpp, revision 1.1.1.1

1.1       root        1: // tracer.cpp : Contains TRACER.DLL implementation and initialization
                      2: //              code.
                      3: //
                      4: // This is a part of the Microsoft Foundation Classes C++ library.
                      5: // Copyright (C) 1992 Microsoft Corporation
                      6: // All rights reserved.
                      7: //
                      8: // This source code is only intended as a supplement to the
                      9: // Microsoft Foundation Classes Reference and Microsoft
                     10: // QuickHelp documentation provided with the library.
                     11: // See these sources for detailed information regarding the
                     12: // Microsoft Foundation Classes product.
                     13: 
                     14: 
                     15: #include <afxwin.h>
                     16: #include "traceapi.h"
                     17: 
                     18: #ifndef _DEBUG
                     19: #error This source file must be compiled with _DEBUG defined
                     20: #endif
                     21: 
                     22: /////////////////////////////////////////////////////////////////////////////
                     23: // Dialog class
                     24: 
                     25: class CPromptDlg : public CModalDialog
                     26: {
                     27:        TracerData FAR* m_lpData;
                     28: public:
                     29:        CPromptDlg(TracerData FAR* lpData)
                     30:                : CModalDialog("PROMPT")
                     31:                { m_lpData = lpData; }
                     32: 
                     33:        BOOL OnInitDialog();
                     34:        void OnOK();
                     35: };
                     36: 
                     37: BOOL CPromptDlg::OnInitDialog()
                     38: {
                     39:        if (m_lpData->bEnabled)
                     40:                ((CButton*)GetDlgItem(512))->SetCheck(TRUE);
                     41: 
                     42:        for (int i = 0; i < 16; i++)
                     43:        {
                     44:                CButton* pCheck = (CButton*)GetDlgItem(256 + i);
                     45:                if (pCheck == NULL)
                     46:                        break;      // no more checkboxes
                     47:                if (m_lpData->flags & (1 << i))
                     48:                        pCheck->SetCheck(TRUE);
                     49:        }
                     50:        return TRUE;
                     51: }
                     52: 
                     53: void CPromptDlg::OnOK()
                     54: {
                     55:        m_lpData->bEnabled = ((CButton*)GetDlgItem(512))->GetCheck();
                     56:        m_lpData->flags = 0;
                     57: 
                     58:        for (int i = 0; i < 16; i++)
                     59:        {
                     60:                CButton* pCheck = (CButton*)GetDlgItem(256 + i);
                     61:                if (pCheck == NULL)
                     62:                        break;      // no more checkboxes
                     63:                if (pCheck->GetCheck())
                     64:                        m_lpData->flags |= (1 << i);
                     65:        }
                     66:        EndDialog(IDOK);
                     67: }
                     68: 
                     69: /////////////////////////////////////////////////////////////////////////////
                     70: // Public C interface
                     71: 
                     72: extern "C"
                     73: BOOL FAR PASCAL _export PromptTraceFlags(TracerData FAR* lpData)
                     74: {
                     75:        TRACE("Inside Tracer DLL\n");
                     76:        CPromptDlg  dlg(lpData);
                     77: 
                     78:        return (dlg.DoModal() == IDOK);
                     79: }
                     80: 
                     81: /////////////////////////////////////////////////////////////////////////////
                     82: // Library init
                     83: 
                     84: class CTracerDLL : public CWinApp
                     85: {
                     86: public:
                     87:        virtual BOOL InitInstance();
                     88: 
                     89:        // nothing special for the constructor
                     90:        CTracerDLL(const char* pszAppName)
                     91:                : CWinApp(pszAppName)
                     92:                { }
                     93: };
                     94: 
                     95: BOOL CTracerDLL::InitInstance()
                     96: {
                     97:        // any DLL initialization goes here
                     98:        TRACE("TRACER.DLL initializing\n");
                     99:        return TRUE;
                    100: }
                    101: 
                    102: extern "C"
                    103: BOOL FAR PASCAL _export FilterDllMsg(LPMSG lpMsg)
                    104: {
                    105:        return AfxGetApp()->PreTranslateMessage(lpMsg);
                    106: }
                    107: 
                    108: CTracerDLL  tracerDLL("tracer.dll");
                    109: 
                    110: /////////////////////////////////////////////////////////////////////////////

unix.superglobalmegacorp.com

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