Annotation of mstools/mfc/samples/dlltrace/tracer.cpp, revision 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.