THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 14/09/2004 at 07:42, xxxxxxxx wrote:
Here's the code - you'll probably recognize most of it :). ID_DROPIT is a button, the other two are EditTexts. Like this, no text entry is possible, only drag-n-drop.
FloorDialog::Message(msg)
{
if (msg->GetId() == BFM_DRAGRECEIVE)
{
if(CheckDropArea(ID_DRAGOBJECT, msg, TRUE, TRUE))
{
SetDragDestination(MOUSE_POINT_HAND);
if(msg->GetData(BFM_DRAG_FINISHED))
{
object = GetDragObject(msg);
SetString(ID_DRAGOBJECT, object->GetName());
}
return TRUE;
}
else if(CheckDropArea(ID_DRAGTARGET, msg, TRUE, TRUE))
{
SetDragDestination(MOUSE_POINT_HAND);
if(msg->GetData(BFM_DRAG_FINISHED))
{
target = GetDragObject(msg);
SetString(ID_DRAGTARGET, target->GetName());
}
return TRUE;
}
}
return super::Message(msg);
}
FloorDialog::Command(id, msg)
{
if (id == ID_DROPIT)
{
if (!object) return;
if (target) DropToTarget();
else DropToFloor();
object = NULL;
target = NULL;
SetString(ID_DRAGOBJECT,"");
SetString(ID_DRAGTARGET,"");
}
else if (id == ID_DRAGOBJECT)
{
if (!(object = GetActiveDocument()->FindObject(GetString(ID_DRAGOBJECT))))
SetString(ID_DRAGOBJECT, "");
}
else if (id == ID_DRAGTARGET)
{
if (!(target = GetActiveDocument()->FindObject(GetString(ID_DRAGTARGET))))
SetString(ID_DRAGTARGET, "");
}
}
Thanks,
Robert