61 lines
No EOL
4.8 KiB
C++
61 lines
No EOL
4.8 KiB
C++
// ==========================================================================
|
||
// Class Specification : COXDragDropCommands
|
||
// ==========================================================================
|
||
|
||
// Header file : OXDragDropCommands.h
|
||
|
||
// Version: 9.3
|
||
|
||
// This software along with its related components, documentation and files ("The Libraries")
|
||
// is ?1994-2007 The Code Project (1612916 Ontario Limited) and use of The Libraries is
|
||
// governed by a software license agreement ("Agreement"). Copies of the Agreement are
|
||
// available at The Code Project (www.codeproject.com), as part of the package you downloaded
|
||
// to obtain this file, or directly from our office. For a copy of the license governing
|
||
// this software, you may contact us at legalaffairs@codeproject.com, or by calling 416-849-8900.
|
||
|
||
// //////////////////////////////////////////////////////////////////////////
|
||
|
||
|
||
#ifndef _OXDRAGDROPCOMMANDS_H__
|
||
#define _OXDRAGDROPCOMMANDS_H__
|
||
|
||
#if _MSC_VER >= 1000
|
||
#pragma once
|
||
#endif // _MSC_VER >= 1000
|
||
|
||
#include "OXDllExt.h"
|
||
#include "OXBitmapMenuOrganizer.h"
|
||
|
||
class OX_CLASS_DECL COXDragDropCommands
|
||
{
|
||
public:
|
||
// custom format for drag'n'drop operations
|
||
static CLIPFORMAT m_cfCommandButton;
|
||
|
||
|
||
public:
|
||
// --- In : lpszText - item text
|
||
// nImageIndex - item image index
|
||
// nCommandID - item command ID
|
||
// fsStyle - item style (not relevant for menu items,
|
||
// always set to 0)
|
||
// hSubmenu - item submenu
|
||
// --- Out :
|
||
// --- Returns: A pointer to created COleDataSource object that will contain
|
||
// item info in specific format
|
||
// --- Effect : Creates COleDataSource for drag'n'drop operation that contains
|
||
// item info in specific internal format. Caller is responsible
|
||
// for deleting the returned COleDataSource object
|
||
static COleDataSource* PrepareDragDropData(LPCTSTR lpszText, int nImageIndex,
|
||
int nCommandID, BYTE fsStyle=0, HMENU hSubmenu=NULL);
|
||
static DROPEFFECT DoDragDrop(COleDataSource* pDataSource,
|
||
COleDropSource* pOleDropSource);
|
||
static int CalcMenuDataSize(HMENU hMenu);
|
||
static void WriteItemDragDropData(BYTE*& lpData, LPCTSTR lpszText,
|
||
int nImageIndex, int nCommandID, BYTE fsStyle);
|
||
static void WriteMenuDragDropData(BYTE*& lpData, HMENU hMenu);
|
||
};
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
|
||
#endif // _OXDRAGDROPCOMMANDS_H__
|