SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftPrintPreview/DLL 2.0 - Print Preview Control (discontinued)
SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftDirectory 3.5 - File/Folder Control (discontinued)
SftMask/OCX 7.0 - Masked Edit Control
SftOptions 1.0 - Registry/INI Control (discontinued)
SftPrintPreview/OCX 1.0 - Print Preview Control (discontinued)
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftTabs/NET 6.0 - Tab Control (discontinued)
SftTree/NET 2.0 - Tree Control
This sample illustrates using an OLE drop target.
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->OLEDropMode = OLEDropSftMaskManual;
return TRUE;
}
void CProject1Dlg::OnOLEDragDropSftMask1(LPDISPATCH FAR* Data, long FAR* TargetChar, long FAR* Effect, short FAR* Button, short FAR* Shift, float FAR* x, float FAR* y)
{
IVDMDataObjectPtr pData = *Data;
if (pData->GetFormat(sftCFFiles) != VARIANT_FALSE) {
if (pData->Files->Count > 1)
AfxMessageBox(_T("Only one file at a time please."), MB_OK, 0);
else
m_pMask1->Text = pData->Files->GetItem(1);
}
}
void CProject1Dlg::OnOLEDragOverSftMask1(LPDISPATCH FAR* Data, long FAR* TargetChar, long FAR* Effect, short FAR* Button, short FAR* Shift, float FAR* x, float FAR* y, long FAR* State)
{
IVDMDataObjectPtr pData = *Data;
if (*TargetChar < 0) {
// Outside edit control (on caption)
Effect = DROPEFFECT_NONE;
} else {
// Inside edit control
if (pData->GetFormat(sftCFFiles) != VARIANT_FALSE) {
// OK, we have a file format
} else {
// No file format
*Effect = DROPEFFECT_NONE;
}
}
}
BEGIN_EVENTSINK_MAP(CProject1Dlg, CDialog)
//{{AFX_EVENTSINK_MAP(CProject1Dlg)
ON_EVENT(CProject1Dlg, IDC_SFTMASK1, 23 /* OLEDragDrop */, OnOLEDragDropSftMask1, VTS_PDISPATCH VTS_PI4 VTS_PI4 VTS_PI2 VTS_PI2 VTS_PR4 VTS_PR4)
ON_EVENT(CProject1Dlg, IDC_SFTMASK1, 22 /* OLEDragOver */, OnOLEDragOverSftMask1, VTS_PDISPATCH VTS_PI4 VTS_PI4 VTS_PI2 VTS_PI2 VTS_PR4 VTS_PR4 VTS_PI4)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
