把IE里的一个url超链接拖到自己窗口里,如何知道这个赵链接的url? 把IE里的一个url超链接拖到自己窗口里,如何知道这个赵链接的url? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IE的URL能拖吗?我这里不行,如果可以你去看看OLE GRAG范围的东西,可能会有用. #define WM_TL_DragEnter (WM_USER + 4)#define WM_TL_DragOver (WM_USER + 5)#define WM_TL_DragLeave (WM_USER + 6)#define WM_TL_Drop (WM_USER + 7)typedef struct { COleDataObject* pDataObject; DWORD dwKeyState; CPoint point; DROPEFFECT dropEffect;} TlDragParam;class CMyOleDropTarget : public COleDropTarget{public: TlDragParam m_DragParam;public: virtual DROPEFFECT OnDragEnter(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point) { m_DragParam.pDataObject = pDataObject; m_DragParam.dwKeyState = dwKeyState; m_DragParam.point = point; return pWnd->SendMessage(WM_TL_DragEnter, (WPARAM)&m_DragParam, 0); }; virtual DROPEFFECT OnDragOver(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point) { m_DragParam.pDataObject = pDataObject; m_DragParam.dwKeyState = dwKeyState; m_DragParam.point = point; return pWnd->SendMessage(WM_TL_DragOver, (WPARAM)&m_DragParam, 0); }; virtual BOOL OnDrop(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point) { m_DragParam.pDataObject = pDataObject; m_DragParam.dropEffect = dropEffect; m_DragParam.point = point; return pWnd->SendMessage(WM_TL_Drop, (WPARAM)&m_DragParam, 0); }; virtual void OnDragLeave(CWnd* pWnd) { pWnd->SendMessage(WM_TL_DragLeave,0,0); };};class CMyDlg : public CDialog{ ....private: CMyOleDropTarget m_drop; ....}BOOL CMyDlg::OnInitDialog(){ CDialog::OnInitDialog(); m_drop.Register(this);}LRESULT CMyDlg::OnDrop(WPARAM wParam, LPARAM lParam){ TlDragParam *pDragParam = (TlDragParam *)wParam; if (!pDragParam->pDataObject->IsDataAvailable(CF_TEXT)) return FALSE; HGLOBAL hmem = pDragParam->pDataObject->GetGlobalData(CF_TEXT); if(!hmem) return DROPEFFECT_NONE; DROPFILES * pDropFiles = (DROPFILES *)::GlobalLock(hmem); LPBYTE lpBuffer = (BYTE *)pDropFiles; CString strUrl; strUrl.Format(_T("%S"),(LPCWSTR)lpBuffer); return 0;} LRESULT CMyDlg::OnDrop(WPARAM wParam, LPARAM lParam){ TlDragParam *pDragParam = (TlDragParam *)wParam; if (!pDragParam->pDataObject->IsDataAvailable(CF_TEXT)) return FALSE; HGLOBAL hmem = pDragParam->pDataObject->GetGlobalData(CF_TEXT); if(!hmem) return DROPEFFECT_NONE; LPBYTE lpBuffer = (LPBYTE)::GlobalLock(hmem); CString strUrl; strUrl.Format(_T("%S"),(LPCWSTR)lpBuffer); return 0;} 818程序员的你是怎么投资理财? 网络连接10054错误:远程主机主动关闭连接(会是什么问题导致)? 关于单档多视的问题 哎.越来越没有以前用vc的优越感了.赚钱才是硬道理啊.... 求助,我根据《深入浅出MFC》的程序编辑的,但是编译的时候总是出错,请高手帮助! 鼠标消息不管用? 关于合成音频视频的问题,有这方面经验的朋友请进,分不够再加 我的可用分怎么不涨阿?(没分了,所以-_-!) 命名空間衝突問題? 如何获取ClistCtrl中每一列的名称阿!?50分吖! 把另个工程当作模块添加进来 基于对话框的程序在按下esc或回车后会退出,怎么使它不退出
#define WM_TL_DragOver (WM_USER + 5)
#define WM_TL_DragLeave (WM_USER + 6)
#define WM_TL_Drop (WM_USER + 7)typedef struct
{
COleDataObject* pDataObject;
DWORD dwKeyState;
CPoint point;
DROPEFFECT dropEffect;
} TlDragParam;class CMyOleDropTarget : public COleDropTarget
{
public:
TlDragParam m_DragParam;
public:
virtual DROPEFFECT OnDragEnter(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point)
{
m_DragParam.pDataObject = pDataObject;
m_DragParam.dwKeyState = dwKeyState;
m_DragParam.point = point;
return pWnd->SendMessage(WM_TL_DragEnter, (WPARAM)&m_DragParam, 0);
};
virtual DROPEFFECT OnDragOver(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point)
{
m_DragParam.pDataObject = pDataObject;
m_DragParam.dwKeyState = dwKeyState;
m_DragParam.point = point;
return pWnd->SendMessage(WM_TL_DragOver, (WPARAM)&m_DragParam, 0);
};
virtual BOOL OnDrop(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point)
{
m_DragParam.pDataObject = pDataObject;
m_DragParam.dropEffect = dropEffect;
m_DragParam.point = point;
return pWnd->SendMessage(WM_TL_Drop, (WPARAM)&m_DragParam, 0);
};
virtual void OnDragLeave(CWnd* pWnd)
{
pWnd->SendMessage(WM_TL_DragLeave,0,0);
};
};class CMyDlg : public CDialog
{
....
private:
CMyOleDropTarget m_drop;
....
}BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_drop.Register(this);
}LRESULT CMyDlg::OnDrop(WPARAM wParam, LPARAM lParam)
{
TlDragParam *pDragParam = (TlDragParam *)wParam;
if (!pDragParam->pDataObject->IsDataAvailable(CF_TEXT))
return FALSE;
HGLOBAL hmem = pDragParam->pDataObject->GetGlobalData(CF_TEXT);
if(!hmem)
return DROPEFFECT_NONE;
DROPFILES * pDropFiles = (DROPFILES *)::GlobalLock(hmem);
LPBYTE lpBuffer = (BYTE *)pDropFiles;
CString strUrl;
strUrl.Format(_T("%S"),(LPCWSTR)lpBuffer);
return 0;
}
{
TlDragParam *pDragParam = (TlDragParam *)wParam;
if (!pDragParam->pDataObject->IsDataAvailable(CF_TEXT))
return FALSE;
HGLOBAL hmem = pDragParam->pDataObject->GetGlobalData(CF_TEXT);
if(!hmem)
return DROPEFFECT_NONE;
LPBYTE lpBuffer = (LPBYTE)::GlobalLock(hmem);
CString strUrl;
strUrl.Format(_T("%S"),(LPCWSTR)lpBuffer);
return 0;
}