📄 gwcommand.h
字号:
////////////////////////////////////////////////////////////////////////////////
//
// File : GwCommand.h
//
// Copyright (C) 2002 PGP Corporation
//
// ABSTRACT
// This object defines an instance of a command object
//
// Author: Satya S. Das
//
////////////////////////////////////////////////////////////////////////////////
const DWORD CUIO_IS_TOOLBAR_ITEM= 0x00000001;
const DWORD CUIO_IS_MENUBAR_ITEM= 0x00000002;
const DWORD CUIO_MAINWND_CONTEXT= 0x00000004;
const DWORD CUIO_DISCUSSION_CONTEXT= 0x00000008;
const DWORD CUIO_MAIL_CONTEXT = 0x00000010;
const DWORD CUIO_NEWMAIL_CONTEXT= 0x00000020;
const DWORD CUIO_OLDMAIL_CONTEXT= 0x00000040;
const DWORD CUIO_ATTVIEW_CONTEXT= 0x00000080;
const DWORD CUIO_IS_AN_OPERATION= 0x00000100;
const DWORD CUIO_IS_AN_OPTION= 0x00000200;
const DWORD CUIO_PREPEND_MENU_SEPARATOR=0x00000400;
typedef struct _stSubClassInfo
{
WNDPROC wpOrigProc;//the original window proc
HWND hWndOther; //other window handle(a related window)
ULONG ulWndItemsState;
ULONG ulFlags;
} SUBCLASSINFO, *LPSUBCLASSINFO;
#define WM_ENABLECOMMANDS (WM_USER+100)
const DWORD ECO_UNSUPPORTED= 0x00000001;
const DWORD SCF_IGNOREENABLE= 0x00000001;
LRESULT CALLBACK SubClassedMsgBodyWndProc(HWND hWnd, UINT uiMessageId,
WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK DecryptVerifyWndProc(HWND hWnd, UINT uiMessageId,
WPARAM wParam, LPARAM lParam);
LRESULT CALLBACK SubClassedToolBarWndProc(HWND hWnd, UINT uiMessageId,
WPARAM wParam, LPARAM lParam);
BOOL IsStdGwCmd(UINT uiTBarItemId);
class CGWCommand : public IGWCommand
{
public:
/* IUnknown methods */
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
STDMETHOD_(ULONG,AddRef) ();
STDMETHOD_(ULONG,Release) ();
/* IGWCommand methods */
STDMETHOD(get_BaseCmd)(THIS_ IDispatch * FAR* ppIDispBaseCmd);
STDMETHOD(get_LongPrompt)(THIS_ BSTR FAR* pbstrLongPrompt);
STDMETHOD(get_Parameters)(THIS_ IDispatch * FAR* ppIDispBaseCmd);
STDMETHOD(get_PersistentID)(THIS_ BSTR FAR* pbstrPersistentID);
STDMETHOD(get_ToolTip)(THIS_ BSTR FAR* pbstrToolTip);
STDMETHOD(Execute)(THIS);
STDMETHOD(Help)(THIS);
STDMETHOD(Undo)(THIS);
STDMETHOD(Validate)(THIS_ long FAR* plValidate);
void Set_BaseCommand(IGWCommand *pigwBaseCmd);
BOOL EnableCommands(HMENU hMenuBar, BOOL bEnable, DWORD dwFlags);
BOOL GetPlainTxtMsgWnd(HWND& hPlainTxtMsgWnd);
BOOL GetHtmlMsgWnd(HWND& hHtmlMsgWnd);
CGWCommand(int nID, DWORD dwCmdUiInfo);
~CGWCommand();
BSTR m_bstrLongPrompt;
BSTR m_bstrToolTip;
private:
int m_nID;
ULONG m_cRef;
DWORD m_dwCmdUiInfo;
IUnknown *m_pIUnkDisp;
IGWCommand *m_pigwBaseCmd;
IDispatch *m_pIDispOfCmd;
HWND m_hCtxtWindow;
HWND m_hOverlappingWnd;
STDMETHOD(SetTextOfReadOnlyMail)(THIS_ char *pszMailTextToWrite,
HWND &hOrigMsgTxtWnd, HWND &hHtmlTxtMsgWnd,
HWND &hOverlappingWnd, HWND &hTrackedMsgWnd);
STDMETHOD(GetSelectedMessageId)(BSTR &bstrMessageId);
STDMETHOD(LearnCommandContext)();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -