Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Drag&Drop >> Image


Автор: Geniy00 13.6.2007, 23:56
Добрый день.

Как занести в Image какойто рисунок с рабочего стола(например), через Drag&Drop ?

Автор: SenkraD 14.6.2007, 08:57
Вот так:
Код

// h-файл
TWndMethod m_lpfnOldProc;
void __fastcall NewProc(Messages::TMessage &Message);

// cpp-файл
// конструктор формы
DragAcceptFiles(Handle, true);
m_lpfnOldProc = WindowProc;
WindowProc    = NewProc;

//функция обработчик
void __fastcall TForm1::NewProc(Messages::TMessage &Message)
{
    HDROP  hDrop;
    int         nIndex;
    int         nFilesCount;
    char      szFileName[MAX_PATH];

    if(Message.Msg == WM_DROPFILES)
    {
         hDrop      = (HDROP)Message.WParam;
         nFilesCount = DragQueryFile(hDrop, 0xffffffff, NULL, 0);
         //for(nIndex = 0; nIndex < nFilesCount; nIndex ++)
         //{
             DragQueryFile(hDrop, /*nIndex*/0, szFileName, sizeof(szFileName));
             // Тут бы не помешало бы проверить файл на предмет это картинка или нет
             Image1->Picture->LoadFromFile(szFileName);
         //}
    }
     m_lpfnOldProc(Message);
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)