|
//------------------------------------------------------------------------------
// $Workfile: BeginDragHandler.cpp $
// $Header: $
//
// Copyright � 2008 SbjCat
// All rights reserved.
//
//
// *** Authors ***
// Steve Johnson
//
// $Revision: $
//
//-----------------------------------------------------------------------------
#include "StdAfx.h"
#include "BeginDragHandler.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
namespace SbjCore
{
namespace DragNDrop
{
BeginDragHandler::BeginDragHandler(void)
{
}
BeginDragHandler::~BeginDragHandler(void)
{
}
COleDataSource* BeginDragHandler::CreateSource()
{
return OnCreateSource();
}
bool BeginDragHandler::OnHandleNotify(NMHDR* pNMHDR, LRESULT* pResult)
{
pNMHDR;
*pResult = 0;
bool bRslt = false;
COleDataSource* pSrc = CreateSource();
if (pSrc != NULL)
{
try
{
DROPEFFECT de = pSrc->DoDragDrop();
bRslt = (de != DROPEFFECT_NONE);
*pResult = 1;
}
catch (_com_error& rError)
{
HRESULT hr = rError.Error();
_bstr_t bstrDesc = rError.Description();
_bstr_t bstrErrMsg = rError.ErrorMessage();
CString s;
s.Format(_T("Result: 0x%X\n\n%s"), hr, (LPCTSTR)bstrErrMsg);
AfxMessageBox(s);
}
delete pSrc;
}
return bRslt;
}
}
}
//*** Modification History ***
// $Log: $
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Real name is Steve Johnson. Programming since 1979. Started on a Heathkit Micro with a DEC LSI-11 and UCSD Pascal. Moved to PCs & DOS as soon as Turbo Pascal became available. Did some Assembly, ISR, TSR etc. All this while working for a Manufacturing Co. for 8 years. Had my own solo Co. doing barcode labeling software for 4 years (terrible business man, all I wanted to do was code). Since then working for various software companies. Moved to Windows around the time of 3.1 with Borland C then C++. Then on to VC++ and MFC, and just about anything I could get my hands on or had to learn for my job, and been at it ever since. Of course recently I've been playing with .NET, ASP, C#, WPF etc.