⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 autocli2.h

📁 英文版的 想要的话可以下载了 为大家服务
💻 H
字号:
/*
 * AUTOCLI2.H
 * Automation Client with Property Pages Chapter 16
 *
 * Definitions and structures.
 *
 * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
 *
 * Kraig Brockschmidt, Microsoft
 * Internet  :  kraigb@microsoft.com
 * Compuserve:  >INTERNET:kraigb@microsoft.com
 */

#ifndef _AUTOCLI2_H_
#define _AUTOCLI2_H_

#define INC_AUTOMATION
//CHAPTER16MOD
#define INC_CONTROLS
#define CHAPTER16
//End CHAPTER16MOD
#include <inole.h>
#include <shellapi.h>
#include <malloc.h>

//Menu Resource ID and Commands
#define IDR_MENU                    1

#define IDM_GETSOUND                0x0001
#define IDM_BEEP                    0x0002
#define IDM_EXIT                    0x0003

//CHAPTER16MOD
#define IDM_PROPERTIES              0x0004
#define IDM_ENFORCEREADONLY         0x0005
//End CHAPTER16MOD

//These match MB_* identifiers for MessageBeep
#define IDM_SETSOUNDDEFAULT         0x0008
#define IDM_SETSOUNDHAND            0x0010
#define IDM_SETSOUNDQUESTION        0x0020
#define IDM_SETSOUNDEXCLAMATION     0x0030
#define IDM_SETSOUNDASTERISK        0x0040

#define IDM_SETSOUNDBOGUS           0x0555


//Stringtable IDs
#define CCHSTRINGMAX                80
#define IDS_MESSAGEEXCEPTION        0
#define IDS_MESSAGEEXCEPTIONSCODE   1
#define IDS_MESSAGEUNKNOWNEXCEPTION 2

//CHAPTER16MOD
class CPropertyNotifySink;
typedef CPropertyNotifySink *PCPropertyNotifySink;
//End CHAPTER16MOD

//AUTOCLI2.CPP
LRESULT APIENTRY AutoClientWndProc(HWND, UINT, WPARAM, LPARAM);
void HelpDirFromCLSID(CLSID, LPTSTR);

class CApp
    {
    friend LRESULT APIENTRY AutoClientWndProc(HWND, UINT, WPARAM
        , LPARAM);

    //CHAPTER16MOD
    friend CPropertyNotifySink;
    //End CHAPTER16MOD

    protected:
        HINSTANCE       m_hInst;            //WinMain parameters
        HINSTANCE       m_hInstPrev;
        UINT            m_nCmdShow;

        HWND            m_hWnd;             //Main window handle
        BOOL            m_fInitialized;     //Did CoInitialize work?
        LCID            m_lcid;             //User locale
        TCHAR           m_szHelpDir[256];   //Object's help directory
        IDispatch      *m_pIDispatch;       //Object in use

        //CHAPTER16MOD
        BOOL                 m_fReadOnly;   //RequestEdit control
        IPropertyNotifySink *m_pSink;       //Our sink
        IConnectionPoint    *m_pIConnPt;    //Object's connection point
        DWORD                m_dwConn;      //Sink connection
        //End CHAPTER16MOD

    public:
        CApp(HINSTANCE, HINSTANCE, UINT);
        ~CApp(void);

        BOOL    Init(void);
        HRESULT NameToID(OLECHAR *, DISPID *);
        HRESULT Invoke(DISPID, WORD, DISPPARAMS *, VARIANT *
                    , EXCEPINFO *, UINT *);
        void    Message(LPTSTR);
        UINT    Message(LPTSTR, UINT);

        //CHAPTER16MOD
        void    ShowProperties(void);
        //End CHAPTER16MOD
    };


typedef CApp *PCApp;

#define CBWNDEXTRA              sizeof(PCApp)
#define AUTOCLI2WL_STRUCTURE    0


//CHAPTER16MOD

class CPropertyNotifySink : public IPropertyNotifySink
    {
    protected:
        ULONG           m_cRef;      //Reference count
        PCApp           m_pApp;      //Backpointer to the app

    public:
        CPropertyNotifySink(PCApp);
        ~CPropertyNotifySink(void);

        //IPropertyNotifySink interface members
        STDMETHODIMP QueryInterface(REFIID, LPVOID *);
        STDMETHODIMP_(ULONG) AddRef(void);
        STDMETHODIMP_(ULONG) Release(void);

        STDMETHODIMP OnChanged(DISPID);
        STDMETHODIMP OnRequestEdit(DISPID);
    };


//End CHAPTER16MOD


#endif //_AUTOCLI2_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -