Re[2]: Как реализовать Drag&Drop ссылок со страницы IE?
От: Marble  
Дата: 04.05.03 12:27
Оценка:
Здравствуйте, OlegO, Вы писали:

OO>Здравствуйте, Николай, Вы писали:


Н>Помогите пожалуйста реализовать Drag&Drop ссылок со страницы IE.

Н>Т.е. я переопределил DragEnter, DragOver, DragLeave, Drop я незнаю как получить инфу о самой ссылке.

OO>Примерно так:


OO>
OO>static UINT _MC_CF_INETURL            =    RegisterClipboardFormat(CFSTR_INETURL);
OO>static UINT _MC_CF_LINKDESCRIPTOR    =    RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR);

OO>...::OnDrop(..)
OO>{

OO>FORMATETC stFormatInetUrl = {_MC_CF_INETURL,NULL,DVASPECT_CONTENT,-1,TYMED_HGLOBAL};

OO>if(pDataObject->IsDataAvailable(_MC_CF_INETURL,&stFormatInetUrl))
OO>{
OO>                    CString strLinkDscr;
OO>                    // Get link Description [4/17/2002]
OO>                    HGLOBAL    hMemLinkDscr    =    pDataObject->GetGlobalData(_MC_CF_LINKDESCRIPTOR);

OO>                    if(hMemLinkDscr)
OO>                    {
OO>                        LPVOID  pData    =    GlobalLock(hMemLinkDscr);

OO>                        if(!IsBadReadPtr(pData,sizeof(FILEGROUPDESCRIPTOR)))
OO>                        {
OO>                            FILEGROUPDESCRIPTOR   *pLinkDescriptor    =    (FILEGROUPDESCRIPTOR*)pData;

OO>                            if(!IsBadReadPtr(pLinkDescriptor->fgd,sizeof(FILEDESCRIPTOR)))
OO>                            {
OO>                                strLinkDscr =  pLinkDescriptor->fgd[0].cFileName;
OO>                                if(!strLinkDscr.IsEmpty())
OO>                                    strLinkDscr = strLinkDscr.Left(strLinkDscr.GetLength()-4);
OO>                            }
OO>                        }
OO>                        GlobalUnlock(hMemLinkDscr);
OO>                    }

OO>                    HGLOBAL    hMem    =    pDataObject->GetGlobalData(_MC_CF_INETURL);
OO>                    long UrlSize    =    GlobalSize(hMem);
OO>                    LPVOID   hUrl    =    GlobalLock(hMem);
                    
OO>                    if(hUrl)
OO>                    {
OO>                        CString    strUrl    =    (LPTSTR)hUrl;
                    
    
OO>                    }
OO>                    GlobalUnlock(hMem);

OO>}

OO>}


OO>


А не подкинет ли мне кто нибудь ссылку на пример этого. Во всем инете не могу ни чего найти ( Ни ужели ни кто ни когда такого не писал?

А всё что здесь написано не компилиться, CFSTR_INETURL — undeclared identifier. В мсдне только одна ссылка на этот идентиикатор, и ни где он в хедерах не прописан.
Хелп плиз горю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.