C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Drag files, Drag files on form
Booster
Отправлено: 03.08.2005, 13:35


Ученик-кочегар

Группа: Участник
Сообщений: 29



Допустим я перетаскиваю файлы на форму таким методом:

//Head file:
private:void __fastcall WMDROPFILES(TMessage&);
public: BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES, TMessage, WMDROPFILES);
END_MESSAGE_MAP(TComponent);

//CPP file:
void __fastcall TMForm::FormCreate(TObject *Sender)
{
DragAcceptFiles(Handle, true);
}
//---------------------------------------------------------------------------
void __fastcall TMForm::FormDestroy(TObject *Sender)
{
DragAcceptFiles(Handle, false);
}

//---------------------------------------------------------------------------
void __fastcall TMForm :: WMDROPFILES(TMessage& Msg)
{
//.....
}

А если я хочу перетаскивать не в любом месте а например на панель?
GIZMO
Отправлено: 05.08.2005, 10:06


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Booster @ 03/08/2005, 13:35)
А если я хочу перетаскивать не в любом месте а например на панель?

Тогда придется имплементить IDropTarget
GIZMO
Отправлено: 05.08.2005, 17:50


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (GIZMO @ 05/08/2005, 10:06)
QUOTE (Booster @ 03/08/2005, 13:35)
А если я хочу перетаскивать не в любом месте а например на панель?

Тогда придется имплементить IDropTarget

Ну ладно напугал маленько, можно проще:
CODE

   DragAcceptFiles(Panel1->Handle, true);

и обрабатывать WM_DROPFILES для оконной процедуры Panel1(subclassing)
Booster
Отправлено: 07.08.2005, 10:26


Ученик-кочегар

Группа: Участник
Сообщений: 29



А как обрабатывать WS_DROPFILES для оконной процедуры Panel1(subclassing) ???
GIZMO
Отправлено: 07.08.2005, 21:13


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (Booster @ 07/08/2005, 10:26)
А как обрабатывать WS_DROPFILES для оконной процедуры Panel1(subclassing) ???

Поработай до вторника самостоятельно. Там может освобожусь помогу...
F1->Index->WndProc(TWinControl::WndProc)->Example

Вернуться в Вопросы программирования в C++Builder