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(sftCFText) != VARIANT_FALSE) { _variant_t data = pData->GetData(_variant_t((long) sftCFText)); data.ChangeType(VT_BSTR); m_pMask1->SelStart = *TargetChar; m_pMask1->SelText = data.bstrVal; } else *Effect = DROPEFFECT_NONE; } 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(sftCFText) != VARIANT_FALSE) { // OK, we have a text format } else { // No text 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()