// This is a part of the Microsoft Foundation Classes C++ library. // Copyright (C) Microsoft Corporation // All rights reserved. // // This source code is only intended as a supplement to the // Microsoft Foundation Classes Reference and related // electronic documentation provided with the library. // See these sources for detailed information regarding the // Microsoft Foundation Classes product. #pragma once #include "afxcontrolbarutil.h" #include <__atlmfc_core.h> #pragma warning(push) #pragma warning(disable : _ATLMFC_DISABLED_WARNINGS) #ifdef _AFX_PACKING #pragma pack(push, _AFX_PACKING) #endif #ifdef _AFX_MINREBUILD #pragma component(minrebuild, off) #endif class CUserTool : public CObject { friend class CUserToolsManager; DECLARE_SERIAL(CUserTool) public: // Construction CUserTool(); virtual ~CUserTool(); // Overrides virtual void Serialize(CArchive& ar); virtual BOOL Invoke(); virtual HICON SetToolIcon(); // Operations: public: void DrawToolIcon(CDC* pDC, const CRect& rectImage); void SetCommand(LPCTSTR lpszCmd); BOOL CopyIconToClipboard(); protected: virtual HICON LoadDefaultIcon(); virtual void DeleteIcon(); // Attributes: public: UINT GetCommandId() const { return m_uiCmdId; } const CString& GetCommand() const { return m_strCommand; } CString m_strLabel; CString m_strArguments; CString m_strInitialDirectory; protected: UINT m_uiCmdId; CString m_strCommand; HICON m_hIcon; }; #ifdef _AFX_MINREBUILD #pragma component(minrebuild, on) #endif #ifdef _AFX_PACKING #pragma pack(pop) #endif // _ATLMFC_DISABLED_WARNINGS #pragma warning(pop)