-/**************************************************************************\r
+/**************************************************************************\r
\r
OleDragDrop.c\r
\r
#include "OleDragDrop.h"\r
\r
\r
-/* Clipboard format \82©\82ç Type of storage medium \82ð\8eæ\93¾ */\r
+/* Clipboard format から Type of storage medium を取得 */\r
static DWORD FormatToTymed(const UINT cfFormat)\r
{\r
switch(cfFormat)\r
IDROPTARGET_NOTIFY dtn;\r
}IDROPTARGET_INTERNAL , *LPIDROPTARGET_INTERNAL;\r
\r
-/* OLE\82Ì\83h\83\8d\83b\83v\83^\81[\83Q\83b\83g\82Æ\82µ\82Ä\93o\98^\82·\82é */\r
+/* OLEのドロップターゲットとして登録する */\r
BOOL APIPRIVATE OLE_IDropTarget_RegisterDragDrop(HWND hWnd, UINT uCallbackMessage, UINT *cFormat, int cfcnt)\r
{\r
static IDROPTARGET_INTERNAL *pdti;\r
}\r
pdti->lpVtbl = (LPVOID)&dtv;\r
pdti->m_refCnt = 0;\r
- pdti->hWnd = hWnd; /* \83\81\83b\83Z\81[\83W\82ð\8eó\82¯\8eæ\82é\83E\83B\83\93\83h\83E */\r
- pdti->uCallbackMessage = uCallbackMessage; /* \83\81\83b\83Z\81[\83W */\r
- pdti->cFormat = (UINT *)GlobalAlloc(GPTR, sizeof(UINT) * cfcnt); /* \91Î\89\9e\82µ\82Ä\82¢\82é\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g */\r
+ pdti->hWnd = hWnd; /* メッセージを受け取るウィンドウ */\r
+ pdti->uCallbackMessage = uCallbackMessage; /* メッセージ */\r
+ pdti->cFormat = (UINT *)GlobalAlloc(GPTR, sizeof(UINT) * cfcnt); /* 対応しているクリップボードフォーマット */\r
if(pdti->cFormat == NULL){\r
GlobalFree(pdti);\r
return FALSE;\r
}\r
CopyMemory(pdti->cFormat, cFormat, sizeof(UINT) * cfcnt);\r
- pdti->cfcnt = cfcnt; /* \83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82Ì\90\94 */\r
+ pdti->cfcnt = cfcnt; /* クリップボードフォーマットの数 */\r
return (S_OK == RegisterDragDrop(hWnd, (LPDROPTARGET)pdti));\r
}\r
\r
-/* OLE\82Ì\83h\83\8d\83b\83v\83^\81[\83Q\83b\83g\82ð\89ð\8f\9c\82·\82é */\r
+/* OLEのドロップターゲットを解除する */\r
void APIPRIVATE OLE_IDropTarget_RevokeDragDrop(HWND hWnd)\r
{\r
RevokeDragDrop(hWnd);\r
\r
static HRESULT STDMETHODCALLTYPE OLE_IDropTarget_QueryInterface(LPDROPTARGET pThis, REFIID riid, PVOID *ppvObject)\r
{\r
- //\97v\8b\81\82³\82ê\82½IID\82Æ\93¯\82¶\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82ð\95Ô\82·\r
+ //要求されたIIDと同じ場合はオブジェクトを返す\r
if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDropTarget)){\r
*ppvObject = (LPVOID)pThis;\r
((LPUNKNOWN)*ppvObject)->lpVtbl->AddRef((LPUNKNOWN)*ppvObject);\r
{\r
CONST LPIDROPTARGET_INTERNAL pdti = (LPIDROPTARGET_INTERNAL)pThis;\r
\r
- /* reference count\82ð\83C\83\93\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをインクリメントする */\r
pdti->m_refCnt++;\r
return pdti->m_refCnt;\r
}\r
{\r
CONST LPIDROPTARGET_INTERNAL pdti = (LPIDROPTARGET_INTERNAL)pThis;\r
\r
- /* reference count\82ð\83f\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをデクリメントする */\r
pdti->m_refCnt--;\r
\r
- /* reference count\82ª 0 \82É\82È\82Á\82½\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82Ì\89ð\95ú\82ð\8ds\82¤ */\r
+ /* reference countが 0 になった場合はオブジェクトの解放を行う */\r
if(pdti->m_refCnt == 0L){\r
if(pdti->cFormat != NULL){\r
GlobalFree(pdti->cFormat);\r
int i;\r
\r
if(pdo){\r
- /* \91Î\89\9e\82µ\82Ä\82¢\82é\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82ª\82 \82é\82©\92²\82×\82é */\r
+ /* 対応しているクリップボードフォーマットがあるか調べる */\r
for(i = 0;i < pdti->cfcnt;i++){\r
if(DropTarget_QueryGetData(pdo, pdti->cFormat[i]) == S_OK){\r
cfFormat = pdti->cFormat[i];\r
break;\r
}\r
}\r
- /* \83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82©\82ç\83f\81[\83^\82ð\8eæ\93¾\82·\82é */\r
+ /* クリップボードフォーマットからデータを取得する */\r
if(cfFormat != 0){\r
if (DropTarget_GetData(pdo, cfFormat, &sm) != S_OK){\r
cfFormat = 0;\r
}\r
}\r
}\r
- pdtn->ppt = ppt; /* \83}\83E\83X\83|\83C\83\93\83^\82Ì\88Ê\92u */\r
- pdtn->grfKeyState = grfKeyState; /* \83L\81[\81A\83}\83E\83X\83{\83^\83\93\82Ì\8fó\91Ô */\r
- pdtn->cfFormat = cfFormat; /* \83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g */\r
- pdtn->hMem = sm.hGlobal; /* \8eÀ\83f\81[\83^ */\r
+ pdtn->ppt = ppt; /* マウスポインタの位置 */\r
+ pdtn->grfKeyState = grfKeyState; /* キー、マウスボタンの状態 */\r
+ pdtn->cfFormat = cfFormat; /* クリップボードフォーマット */\r
+ pdtn->hMem = sm.hGlobal; /* 実データ */\r
pdtn->pdo = pdo; /* IDataObject */\r
\r
- /* \83E\83B\83\93\83h\83E\82É\83C\83x\83\93\83g\82ð\92Ê\92m\82·\82é */\r
+ /* ウィンドウにイベントを通知する */\r
SendMessage(pdti->hWnd, pdti->uCallbackMessage, (WPARAM)uNotify, (LPARAM)pdtn);\r
\r
- /* \83N\83\8a\83b\83v\83{\81[\83h\8c`\8e®\82Ì\83f\81[\83^\82Ì\89ð\95ú */\r
+ /* クリップボード形式のデータの解放 */\r
if(cfFormat){\r
ReleaseStgMedium(&sm);\r
}\r
\r
- /* \8cø\89Ê\82Ì\90Ý\92è */\r
+ /* 効果の設定 */\r
if(pdwEffect){\r
*pdwEffect &= pdtn->dwEffect;\r
\r
{\r
FORMATETC fmt;\r
\r
- /* IDataObject\82É\83N\83\8a\83b\83v\83{\81[\83h\8c`\8e®\82Ì\83f\81[\83^\82ð\97v\8b\81\82·\82é */\r
+ /* IDataObjectにクリップボード形式のデータを要求する */\r
fmt.cfFormat = cfFormat;\r
fmt.ptd = NULL;\r
fmt.dwAspect = DVASPECT_CONTENT;\r
{\r
FORMATETC fmt;\r
\r
- /* IDataObject\82É\8ew\92è\82Ì\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82ª\91¶\8dÝ\82·\82é\82©\96â\82¢\8d\87\82í\82¹\82é */\r
+ /* IDataObjectに指定のクリップボードフォーマットが存在するか問い合わせる */\r
fmt.cfFormat = cfFormat;\r
fmt.ptd = NULL;\r
fmt.dwAspect = DVASPECT_CONTENT;\r
\r
static HRESULT STDMETHODCALLTYPE OLE_IEnumFORMATETC_QueryInterface(LPENUMFORMATETC lpThis, REFIID riid, LPVOID FAR* lplpvObj)\r
{\r
- //\97v\8b\81\82³\82ê\82½IID\82Æ\93¯\82¶\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82ð\95Ô\82·\r
+ //要求されたIIDと同じ場合はオブジェクトを返す\r
if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IEnumFORMATETC)){\r
*lplpvObj = (LPVOID) lpThis;\r
((LPUNKNOWN)*lplpvObj)->lpVtbl->AddRef(((LPUNKNOWN)*lplpvObj));\r
{\r
CONST LPIENUMFORMATETC_INTERNAL pefi = (LPIENUMFORMATETC_INTERNAL)lpThis;\r
\r
- /* reference count\82ð\83C\83\93\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをインクリメントする */\r
pefi->m_refCnt++;\r
- /* \90e\83I\83u\83W\83F\83N\83g\82Ìreference count\82ð\89Á\82¦\82é */\r
+ /* 親オブジェクトのreference countを加える */\r
pefi->m_pUnknownObj->lpVtbl->AddRef(pefi->m_pUnknownObj);\r
return pefi->m_refCnt;\r
}\r
{\r
CONST LPIENUMFORMATETC_INTERNAL pefi = (LPIENUMFORMATETC_INTERNAL)lpThis;\r
\r
- /* reference count\82ð\83f\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをデクリメントする */\r
pefi->m_refCnt--;\r
- /* \90e\83I\83u\83W\83F\83N\83g\82Ìreference count\82ð\8c¸\82ç\82· */\r
+ /* 親オブジェクトのreference countを減らす */\r
pefi->m_pUnknownObj->lpVtbl->Release(pefi->m_pUnknownObj);\r
\r
- /* reference count\82ª 0 \82É\82È\82Á\82½\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82Ì\89ð\95ú\82ð\8ds\82¤ */\r
+ /* reference countが 0 になった場合はオブジェクトの解放を行う */\r
if(pefi->m_refCnt == 0L){\r
if(pefi->m_formatList != NULL){\r
GlobalFree(pefi->m_formatList);\r
LPIENUMFORMATETC_INTERNAL lpefi = ((LPIENUMFORMATETC_INTERNAL)lpThis);\r
UINT i;\r
\r
- /* IEnumFORMATETC\82ð\8dì\90¬\82·\82é */\r
+ /* IEnumFORMATETCを作成する */\r
pNew = GlobalAlloc(GPTR, sizeof(IENUMFORMATETC_INTERNAL));\r
if(pNew == NULL){\r
return ResultFromScode(E_OUTOFMEMORY);\r
pNew->m_pUnknownObj = lpefi->m_pUnknownObj;\r
pNew->m_numFormats = lpefi->m_numFormats;\r
\r
- /* \83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82Ì\83\8a\83X\83g\82ð\83R\83s\81[\82·\82é */\r
+ /* クリップボードフォーマットのリストをコピーする */\r
pNew->m_formatList = GlobalAlloc(GPTR, sizeof(FORMATETC) * pNew->m_numFormats);\r
if(pNew->m_formatList != NULL){\r
for(i = 0;i < pNew->m_numFormats;i++){\r
\r
static HRESULT STDMETHODCALLTYPE OLE_IDataObject_QueryInterface(LPDATAOBJECT lpThis, REFIID riid, LPVOID FAR *lplpvObj)\r
{\r
- //\97v\8b\81\82³\82ê\82½IID\82Æ\93¯\82¶\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82ð\95Ô\82·\r
+ //要求されたIIDと同じ場合はオブジェクトを返す\r
if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDataObject)){\r
*lplpvObj = lpThis;\r
((LPUNKNOWN)*lplpvObj)->lpVtbl->AddRef(((LPUNKNOWN)*lplpvObj));\r
{\r
CONST LPIDATAOBJECT_INTERNAL pdoi = (LPIDATAOBJECT_INTERNAL)lpThis;\r
\r
- /* reference count\82ð\83C\83\93\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをインクリメントする */\r
pdoi->m_refCnt++;\r
return pdoi->m_refCnt;\r
}\r
{\r
CONST LPIDATAOBJECT_INTERNAL pdoi = (LPIDATAOBJECT_INTERNAL)lpThis;\r
\r
- /* reference count\82ð\83f\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをデクリメントする */\r
pdoi->m_refCnt--;\r
\r
- /* reference count\82ª 0 \82É\82È\82Á\82½\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82Ì\89ð\95ú\82ð\8ds\82¤ */\r
+ /* reference countが 0 になった場合はオブジェクトの解放を行う */\r
if(pdoi->m_refCnt == 0L){\r
if(pdoi->m_typeList != NULL){\r
GlobalFree(pdoi->m_typeList);\r
HGLOBAL hMem;\r
UINT i;\r
\r
- /* \97v\8b\81\82³\82ê\82½\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82ª\91¶\8dÝ\82·\82é\82©\92²\82×\82é */\r
+ /* 要求されたクリップボードフォーマットが存在するか調べる */\r
for(i = 0;i < pdoi->m_numTypes;i++){\r
if(pdoi->m_typeList[i].cfFormat == pFormatetc->cfFormat){\r
break;\r
}\r
}\r
if(i == pdoi->m_numTypes){\r
- /* \97v\8b\81\82³\82ê\82½\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82ð\83T\83|\81[\83g\82µ\82Ä\82È\82¢\8fê\8d\87 */\r
+ /* 要求されたクリップボードフォーマットをサポートしてない場合 */\r
return ResultFromScode(DV_E_FORMATETC);\r
}\r
\r
- // \83}\83E\83X\82Ì\83h\83\89\83b\83O\92\86\82Í WM_GETDATA \82ð\91\97\82ç\82È\82¢\82æ\82¤\82É\82·\82é\81B(2007.9.3 yutaka)\r
+ // マウスのドラッグ中は WM_GETDATA を送らないようにする。(2007.9.3 yutaka)\r
if (GetAsyncKeyState(VK_LBUTTON) & 0x8000 ||\r
GetAsyncKeyState(VK_RBUTTON) & 0x8000) {\r
return ResultFromScode(DV_E_FORMATETC);\r
}\r
\r
- /* \83E\83B\83\93\83h\83E\82É\83f\81[\83^\82Ì\97v\8b\81\82ð\8ds\82¤ */\r
+ /* ウィンドウにデータの要求を行う */\r
SendMessage(pdoi->hWnd, pdoi->uCallbackMessage, (WPARAM)pdoi->m_typeList[i].cfFormat, (LPARAM)&hMem);\r
if(hMem == NULL){\r
return ResultFromScode(STG_E_MEDIUMFULL);\r
CONST LPIDATAOBJECT_INTERNAL pdoi = (LPIDATAOBJECT_INTERNAL)lpThis;\r
UINT i;\r
\r
- /* \97v\8b\81\82³\82ê\82½\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82ª\91¶\8dÝ\82·\82é\82©\92²\82×\82é */\r
+ /* 要求されたクリップボードフォーマットが存在するか調べる */\r
for(i = 0;i < pdoi->m_numTypes;i++){\r
if(pdoi->m_typeList[i].cfFormat == pFormatetc->cfFormat){\r
return S_OK;\r
return ResultFromScode(E_NOTIMPL);\r
}\r
\r
- /* IEnumFORMATETC\82ð\8dì\90¬\82·\82é */\r
+ /* IEnumFORMATETCを作成する */\r
pefi = GlobalAlloc(GPTR, sizeof(IENUMFORMATETC_INTERNAL));\r
if(pefi == NULL){\r
return E_OUTOFMEMORY;\r
pefi->m_pUnknownObj = (struct IUnknown *)lpThis;\r
pefi->m_numFormats = pdoi->m_numTypes;\r
\r
- /* \83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82Ì\83\8a\83X\83g\82ð\83R\83s\81[\82·\82é */\r
+ /* クリップボードフォーマットのリストをコピーする */\r
pefi->m_formatList = GlobalAlloc(GPTR, sizeof(FORMATETC) * pefi->m_numFormats);\r
if(pefi->m_formatList != NULL){\r
for(i = 0;i < pefi->m_numFormats;i++){\r
\r
static HRESULT STDMETHODCALLTYPE OLE_IDropSource_QueryInterface(LPDROPSOURCE lpThis, REFIID riid, LPVOID FAR *lplpvObj)\r
{\r
- //\97v\8b\81\82³\82ê\82½IID\82Æ\93¯\82¶\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82ð\95Ô\82·\r
+ //要求されたIIDと同じ場合はオブジェクトを返す\r
if(IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDropSource)){\r
*lplpvObj = (LPVOID) lpThis;\r
((LPUNKNOWN)*lplpvObj)->lpVtbl->AddRef(((LPUNKNOWN)*lplpvObj));\r
{\r
CONST LPIDROPSOURCE_INTERNAL pdsi = (LPIDROPSOURCE_INTERNAL)lpThis;\r
\r
- /* reference count\82ð\83C\83\93\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをインクリメントする */\r
pdsi->m_refCnt++;\r
return pdsi->m_refCnt;\r
}\r
{\r
CONST LPIDROPSOURCE_INTERNAL pdsi = (LPIDROPSOURCE_INTERNAL)lpThis;\r
\r
- /* reference count\82ð\83f\83N\83\8a\83\81\83\93\83g\82·\82é */\r
+ /* reference countをデクリメントする */\r
pdsi->m_refCnt--;\r
\r
- /* reference count\82ª 0 \82É\82È\82Á\82½\8fê\8d\87\82Í\83I\83u\83W\83F\83N\83g\82Ì\89ð\95ú\82ð\8ds\82¤ */\r
+ /* reference countが 0 になった場合はオブジェクトの解放を行う */\r
if(pdsi->m_refCnt == 0L){\r
GlobalFree(pdsi);\r
return 0L;\r
CONST LPIDROPSOURCE_INTERNAL pdsi = (LPIDROPSOURCE_INTERNAL)lpThis;\r
\r
if(fEscapePressed){\r
- /* \83G\83X\83P\81[\83v\82ª\89\9f\82³\82ê\82½\8fê\8d\87\82Í\83L\83\83\83\93\83Z\83\8b\82É\82·\82é */\r
+ /* エスケープが押された場合はキャンセルにする */\r
return ResultFromScode(DRAGDROP_S_CANCEL);\r
}\r
\r
- // Mouse over\82Ì\92Ê\92m (yutaka)\r
+ // Mouse overの通知 (yutaka)\r
SendMessage(pdsi->m_hWnd, pdsi->m_uCallbackDragOverMessage, 0, 0);\r
\r
- /* \8ew\92è\82Ì\83L\81[\82â\83}\83E\83X\82ª\97£\82³\82ê\82½\8fê\8d\87\82Í\83h\83\8d\83b\83v\82É\82·\82é */\r
+ /* 指定のキーやマウスが離された場合はドロップにする */\r
if(pdsi->m_button == 0){\r
if(grfKeyState != pdsi->m_keyState){\r
return ResultFromScode(DRAGDROP_S_DROP);\r
return ResultFromScode(DRAGDROP_S_USEDEFAULTCURSORS);\r
}\r
\r
-/* \83h\83\89\83b\83O\81\95\83h\83\8d\83b\83v\82Ì\8aJ\8en */\r
+/* ドラッグ&ドロップの開始 */\r
int APIPRIVATE OLE_IDropSource_Start(HWND hWnd, UINT uCallbackMessage, UINT uCallbackDragOverMessage, UINT *ClipFormtList, int cfcnt, int Effect)\r
{\r
static IDATAOBJECT_INTERNAL *pdoi;\r
int i;\r
int ret;\r
\r
- /* IDataObject\82Ì\8dì\90¬ */\r
+ /* IDataObjectの作成 */\r
pdoi = GlobalAlloc(GPTR, sizeof(IDATAOBJECT_INTERNAL));\r
if(pdoi == NULL){\r
return -1;\r
pdoi->m_refCnt = 0;\r
pdoi->m_numTypes = cfcnt;\r
pdoi->m_maxTypes = cfcnt;\r
- /* \97L\8cø\82È\83N\83\8a\83b\83v\83{\81[\83h\83t\83H\81[\83}\83b\83g\82ð\90Ý\92è\82·\82é */\r
+ /* 有効なクリップボードフォーマットを設定する */\r
pdoi->m_typeList = GlobalAlloc(GPTR, sizeof(FORMATETC) * cfcnt);\r
if(pdoi->m_typeList == NULL){\r
GlobalFree(pdoi);\r
pdoi->uCallbackMessage = uCallbackMessage;\r
((LPDATAOBJECT)pdoi)->lpVtbl->AddRef((LPDATAOBJECT)pdoi);\r
\r
- /* IDropSource\82Ì\8dì\90¬ */\r
+ /* IDropSourceの作成 */\r
pdsi = GlobalAlloc(GPTR, sizeof(IDROPSOURCE_INTERNAL));\r
if(pdsi == NULL){\r
- /* IDataObject\82ð\89ð\95ú\82·\82é */\r
+ /* IDataObjectを解放する */\r
((LPDATAOBJECT)pdoi)->lpVtbl->Release((LPDATAOBJECT)pdoi);\r
return -1;\r
}\r
pdsi->m_hWnd = hWnd; // yutaka\r
pdsi->m_uCallbackDragOverMessage = uCallbackDragOverMessage;\r
\r
- /* \97L\8cø\82È\83L\81[\82Æ\83}\83E\83X\82Ì\8fó\91Ô */\r
+ /* 有効なキーとマウスの状態 */\r
if(GetKeyState(VK_RBUTTON) & 0x8000){\r
pdsi->m_button = MK_RBUTTON;\r
}else{\r
pdsi->m_button = MK_LBUTTON;\r
}\r
\r
- /* \8c»\8dÝ\82Ì\83L\81[\82Æ\83}\83E\83X\82Ì\8fó\91Ô */\r
+ /* 現在のキーとマウスの状態 */\r
keyState = 0;\r
if(GetKeyState(VK_SHIFT) & 0x8000){\r
keyState |= MK_SHIFT;\r
\r
lpdwEffect = 0;\r
\r
- /* \83h\83\89\83b\83O&\83h\83\8d\83b\83v\82Ì\8aJ\8en */\r
+ /* ドラッグ&ドロップの開始 */\r
ret = DoDragDrop((LPDATAOBJECT)pdoi, (LPDROPSOURCE)pdsi, Effect, &lpdwEffect);\r
\r
- /* IDataObject\82ð\89ð\95ú\82·\82é */\r
+ /* IDataObjectを解放する */\r
((LPDATAOBJECT)pdoi)->lpVtbl->Release((LPDATAOBJECT)pdoi);\r
- /* IDropSource\82ð\89ð\95ú\82·\82é */\r
+ /* IDropSourceを解放する */\r
((LPDROPSOURCE)pdsi)->lpVtbl->Release((LPDROPSOURCE)pdsi);\r
\r
if(ret == DRAGDROP_S_DROP){\r
- /* \83h\83\8d\83b\83v\90æ\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\90Ý\92è\82µ\82½\8cø\89Ê\82ð\95Ô\82· */\r
+ /* ドロップ先のアプリケーションが設定した効果を返す */\r
return lpdwEffect;\r
}\r
return -1;\r