Hide

SftMask/OCX 7.0 - ActiveX Masked Edit Control

Display
Print

DragDrop1 Sample (C++)

This sample illustrates using an OLE drag source.

This is not an executable sample, so a complete project is not provided. These statements are intended to show basic concepts and the syntax used.

BOOL CProject1Dlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    m_pMask1 = m_Mask1.GetControlUnknown();
    _ASSERT(m_pMask1 != NULL);

    m_pMask1->Caption->SizePercent = 33;
    m_pMask1->Caption->Text = _T("&Filename:");
    m_pMask1->Mask = _T("");
    m_pMask1->MaxLength = 300;
    m_pMask1->PromptUnderline = VARIANT_FALSE;
    m_pMask1->AutoComplete->Contents = contentsSftMaskFilesDirs;
    m_pMask1->AutoComplete->DefaultDirectory = _T("C:\\");
    m_pMask1->OLEDragMode = OLEDragSftMaskManual;

    return TRUE;
}

void CProject1Dlg::OnDragStartingSftMask1(short Button, short Shift, float x, float y)
{
    if (m_pMask1->SelLength != 0) {
        m_pMask1->OLEDrag();
    }
}

void CProject1Dlg::OnOLEStartDragSftMask1(LPDISPATCH FAR* Data, long FAR* AllowedEffects)
{
    IVDMDataObjectPtr pData = *Data;
    pData->Clear();
    pData->Files->Add(m_pMask1->SelText);
    pData->SetData(vtMissing, _variant_t((long) sftCFFiles));
    *AllowedEffects = DROPEFFECT_COPY;
}

BEGIN_EVENTSINK_MAP(CProject1Dlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CProject1Dlg)
    ON_EVENT(CProject1Dlg, IDC_SFTMASK1, 10 /* DragStarting */, OnDragStartingSftMask1, VTS_I2 VTS_I2 VTS_R4 VTS_R4)
    ON_EVENT(CProject1Dlg, IDC_SFTMASK1, 26 /* OLEStartDrag */, OnOLEStartDragSftMask1, VTS_PDISPATCH VTS_PI4)
    //}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()

Last Updated 08/13/2020 - (email)
© 2024 Softel vdm, Inc.