• Welcome to Jose's Read Only Forum 2023.
 

Microsoft DataList Controls

Started by José Roca, December 17, 2008, 11:47:40 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca

 
The DataList control allows retrieved data to appear in a list box.

The following example demonstrates how to create a registration-free instance of the Microsoft Data List Control using my OLE Container (OLECON.INC) to host it, how to fill rows and columns using an ADO recordset, how to connect to the events fired by the control and how to set the default font and background color.

Registration-free means that you don't need to register the control to be able to use it. To use this registration-free version, you must copy MSDATLST.OCX in the application folder, as if it was an standard DLL.

For using a registered version of the control, change the following code in the example:


' Create a registration-free instance of the control
LOCAL  cp AS OC_CREATEPARAMS
cp.clsid = $CLSID_DataList
cp.riid = $IID_IDataList
cp.szLicKey = $RTLKEY_DATALIST
cp.szLibName = EXE.Path$ & "MSDATLST.OCX"
hDataList = CreateWindowEx(0, $OC_CLASSNAME, "", _
   %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP, _
   0, 0, 0, 0, CB.HNDL, %IDC_DATALIST, GetModuleHandle(BYVAL %NULL), cp)


to:


' Create an instance of the control
hGrid = CreateWindowEx(0, $OC_CLASSNAME, _
      "MSDataListLib.DataList.1;RTLKEY:" & $RTLKEY_DATALIST, _
      %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP, 0, 0, 0, 0, hWnd, %IDC_DATALIST, GetModuleHandle(BYVAL %NULL), BYVAL %NULL)


Full example code (DDT version)


' ########################################################################################
' Microsoft Data List Control Demo
' ########################################################################################

#COMPILE EXE
#DIM ALL
#INCLUDE "OLECON.INC"
#INCLUDE "ADO.INC"
#INCLUDE "MSDATLST.INC"

%IDC_DATALIST = 1001

' ========================================================================================
' Main
' ========================================================================================
FUNCTION WINMAIN (BYVAL hInstance AS DWORD, BYVAL hPrevInstance AS DWORD, BYVAL lpszCmdLine AS ASCIIZ PTR, BYVAL nCmdShow AS LONG) AS LONG

   LOCAL hDlg AS DWORD

   ' Required: Initialize the Ole Container
   OC_WinInit

   DIALOG NEW 0, "Microsoft Data List", , , 200, 220, %WS_OVERLAPPED OR %WS_THICKFRAME OR %WS_SYSMENU OR _
   %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX OR %WS_VISIBLE OR %DS_CENTER TO hDlg
   ' For icon from resource, instead use something like, LoadIcon(hInst, "APPICON")
   DIALOG SEND hDlg, %WM_SETICON, %ICON_SMALL, LoadIcon(%NULL, BYVAL %IDI_APPLICATION)
   DIALOG SEND hDlg, %WM_SETICON, %ICON_BIG, LoadIcon(%NULL, BYVAL %IDI_APPLICATION)

   ' We need to forward the messages to the control for keyboard handling
   ' and for that we need a message pump, so the dialog must be modeless.
   DIALOG SHOW MODELESS hDlg, CALL DlgProc

   ' Message handler loop
   LOCAL uMsg AS tagMsg
   WHILE GetMessage(uMsg, %NULL, 0, 0)
      IF ISFALSE OC_ForwardMessage(GetFocus, uMsg) THEN
         IF IsDialogMessage(hDlg, uMsg) = 0 THEN
            TranslateMessage uMsg
            DispatchMessage uMsg
         END IF
      END IF
   WEND

END FUNCTION
' ========================================================================================

' ========================================================================================
' Main Dialog procedure
' ========================================================================================
CALLBACK FUNCTION DlgProc() AS LONG

   LOCAL  hr AS LONG                         ' // HRESULT code
   LOCAL  rc AS RECT                         ' // RECT structure
   LOCAL  hDataList AS DWORD                 ' // Handle of the window that hosts the grid
   LOCAL  pDataList AS IDataList             ' // DataList object
   STATIC pCon AS ADOConnection              ' // ADO Connection object
   STATIC pRec AS ADORecordset               ' // ADO Recordset object
   STATIC pLbEvents AS DDataListEventsImpl   ' // Events interface

   SELECT CASE CB.MSG

      CASE %WM_INITDIALOG

         ' Create a registration-free instance of the control
         LOCAL  cp AS OC_CREATEPARAMS
         cp.clsid = $CLSID_DataList
         cp.riid = $IID_IDataList
         cp.szLicKey = $RTLKEY_DATALIST
         cp.szLibName = EXE.Path$ & "MSDATLST.OCX"
         hDataList = CreateWindowEx(0, $OC_CLASSNAME, "", _
            %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP, _
            0, 0, 0, 0, CB.HNDL, %IDC_DATALIST, GetModuleHandle(BYVAL %NULL), cp)

         ' Get a reference to the control
         pDataList = OC_GetDispatch(hDataList)
         IF ISOBJECT(pDataList) THEN
            ' Connect to the events fired by the control
            pLbEvents = CLASS "CDDataListEvents"
            EVENTS FROM pDataList CALL pLbEvents
            ' Change the foreground and background colors
            pDataList.ForeColor = %BLUE
            pDataList.BackColor = RGB(225, 238, 255)
            ' Set the default font
            LOCAL pFont AS IFontDisp
            hr = OleCreateFontDisp("Verdana", 8, %FW_BOLD, %ANSI_CHARSET, 0, 0, 0, pFont)
            IF ISOBJECT(pFont) THEN
               pDataList.putref_Font = pFont
               pFont = NOTHING
            END IF
            ' Create an ADO connection object
            pCon = NEWCOM "ADODB.Connection"
            IF ISOBJECT(pCon) THEN
               ' Connection string - Remember to change the path of the Data Source if needed
               LOCAL ConStr AS STRING
               ConStr = UCODE$("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & EXE.Path$ & "Biblio.mdb")
               ' Set the connection string
               pCon.ConnectionString = ConStr
               ' Open the connection
               pCon.Open
               IF OBJRESULT = %S_OK THEN
                  ' Create an ADO recordset object
                  pRec = NEWCOM "ADODB.Recordset"
                  IF ISOBJECT(pRec) THEN
                     ' Open the recordset
                     LOCAL SqlStr AS STRING
                     SqlStr = "SELECT * FROM Publishers ORDER BY Name"
                     pRec.Open SqlStr, pCon, %adOpenKeyset, %adLockOptimistic, %adCmdText
                     ' Get the Datasource property of the recordset
                     LOCAL pDataSource AS DataSource
                     pDataSource = pRec.DataSource
                     IF ISOBJECT(pDataSource) THEN
                        ' Bind the recordset to the control
                        pDataList.putref_RowSource = pDataSource
                        pDataList.ListField = UCODE$("Name")
                        pDataSource = NOTHING
                     END IF
                  END IF
               END IF
            END IF
         END IF

      CASE %WM_SIZE
         IF CB.WPARAM <> %SIZE_MINIMIZED THEN
            GetClientRect CB.HNDL, rc
            MoveWindow GetDlgItem(CB.HNDL, %IDC_DATALIST), 0, 0, (rc.nRight - rc.nLeft), (rc.nBottom - rc.nTop), %TRUE
         END IF

      CASE %WM_COMMAND
         SELECT CASE CB.CTL
            CASE %IDCANCEL
               IF CB.CTLMSG = %BN_CLICKED THEN DIALOG END CB.HNDL, 0
         END SELECT

      CASE %WM_SYSCOMMAND
         ' Capture this message and send a %WM_CLOSE message,
         ' or the program may remain in memory
         IF (CBWPARAM AND &HFFF0) = %SC_CLOSE THEN
            DIALOG SEND CB.HNDL, %WM_CLOSE, 0, 0
         END IF

      CASE %WM_DESTROY
         ' Close the recordset
         IF ISOBJECT(pRec) THEN
            pRec.Close
            pRec = NOTHING
         END IF
         ' Close the connection
         IF ISOBJECT(pCon) THEN
            pCon.Close
            pCon = NOTHING
         END IF
         ' Disconnect events and quit
         IF ISOBJECT(pLbEvents) THEN EVENTS END pLbEvents
         PostQuitMessage 0

   END SELECT

END FUNCTION
' ========================================================================================


' ########################################################################################
' Class CDDataListEvents
' Interface name = DDataListEvents
' IID = {F0D2F218-CCB0-11D0-A316-00AA00688B10}
' Event interface for DataList control
' Attributes = 4112 [&H1010] [Hidden] [Dispatchable]
' Code generated by the TypeLib Browser 4.0.13 (c) 2008 by José Roca
' Date: 17 dic 2008   Time: 22:36:13
' ########################################################################################

CLASS CDDataListEvents GUID$("{0BE6EDDC-9874-4E80-9F48-59DF20DF7D89}") AS EVENT

INTERFACE DDataListEventsImpl GUID$("{F0D2F218-CCB0-11D0-A316-00AA00688B10}") AS EVENT

  INHERIT IDispatch

   ' =====================================================================================
   METHOD Click <-600>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyDown <-602> ( _
     BYREF KeyCode AS INTEGER _                         ' *KeyCode VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DblClick <-601>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyPress <-603> ( _
     BYREF KeyAscii AS INTEGER _                        ' *KeyAscii VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyUp <-604> ( _
     BYREF KeyCode AS INTEGER _                         ' *KeyCode VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseDown <-605> ( _
     BYVAL iButton AS INTEGER _                         ' Button VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   , BYVAL x AS LONG _                                  ' x OLE_XPOS_PIXELS <alias> <VT_I4>
   , BYVAL y AS LONG _                                  ' y OLE_YPOS_PIXELS <alias> <VT_I4>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseMove <-606> ( _
     BYVAL iButton AS INTEGER _                         ' Button VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   , BYVAL x AS LONG _                                  ' x OLE_XPOS_PIXELS <alias> <VT_I4>
   , BYVAL y AS LONG _                                  ' y OLE_YPOS_PIXELS <alias> <VT_I4>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseUp <-607> ( _
     BYVAL iButton AS INTEGER _                         ' Button VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   , BYVAL x AS LONG _                                  ' x OLE_XPOS_PIXELS <alias> <VT_I4>
   , BYVAL y AS LONG _                                  ' y OLE_YPOS_PIXELS <alias> <VT_I4>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEStartDrag <1550> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF AllowedEffects AS LONG _                     ' [in][out] *AllowedEffects VT_I4 <Long>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEGiveFeedback <1551> ( _
     BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   , BYREF DefaultCursors AS INTEGER _                  ' [in][out] *DefaultCursors VT_BOOL <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLESetData <1552> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF DataFormat AS INTEGER _                      ' [in][out] *DataFormat VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLECompleteDrag <1553> ( _
     BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEDragOver <1554> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   , BYREF iButton AS INTEGER _                         ' [in][out] *Button VT_I2 <Integer>
   , BYREF iShift AS INTEGER _                          ' [in][out] *Shift VT_I2 <Integer>
   , BYREF x AS SINGLE _                                ' [in][out] *x VT_R4 <Single>
   , BYREF y AS SINGLE _                                ' [in][out] *y VT_R4 <Single>
   , BYREF iState AS INTEGER _                          ' [in][out] *State VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEDragDrop <1555> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   , BYREF iButton AS INTEGER _                         ' [in][out] *Button VT_I2 <Integer>
   , BYREF iShift AS INTEGER _                          ' [in][out] *Shift VT_I2 <Integer>
   , BYREF x AS SINGLE _                                ' [in][out] *x VT_R4 <Single>
   , BYREF y AS SINGLE _                                ' [in][out] *y VT_R4 <Single>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

END INTERFACE

END CLASS


José Roca

#1
 
The DataCombo control allows retrieved data to appear in a drop-down combo box.

The following example demonstrates how to create a registration-free instance of the Microsoft Data Combo Control using my OLE Container (OLECON.INC) to host it, how to fill rows and columns using an ADO recordset, how to connect to the events fired by the control and how to set the default font and background color.

Registration-free means that you don't need to register the control to be able to use it. To use this registration-free version, you must copy MSDATLST.OCX in the application folder, as if it was an standard DLL.

For using a registered version of the control, change the following code in the example:


' Create a registration-free instance of the control
LOCAL  cp AS OC_CREATEPARAMS
cp.clsid = $CLSID_DataCombo
cp.riid = $IID_IDataCombo
cp.szLicKey = $RTLKEY_DATALIST
cp.szLibName = EXE.Path$ & "MSDATLST.OCX"
hDataList = CreateWindowEx(0, $OC_CLASSNAME, "", _
   %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP, _
   0, 0, 0, 0, CB.HNDL, %IDC_DATACOMBO, GetModuleHandle(BYVAL %NULL), cp)


to:


' Create an instance of the control
hGrid = CreateWindowEx(0, $OC_CLASSNAME, _
      "MSDataListLib.DataCombo.1;RTLKEY:" & $RTLKEY_DATALIST, _
      %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP, 0, 0, 0, 0, hWnd, %IDC_DATALIST, GetModuleHandle(BYVAL %NULL), BYVAL %NULL)


Full example code (DDT version)


' ########################################################################################
' Microsoft Data Combo Control Demo
' ########################################################################################

#COMPILE EXE
#DIM ALL
#INCLUDE "OLECON.INC"
#INCLUDE "ADO.INC"
#INCLUDE "MSDATLST.INC"

%IDC_DATACOMBO = 1001

' ========================================================================================
' Main
' ========================================================================================
FUNCTION WINMAIN (BYVAL hInstance AS DWORD, BYVAL hPrevInstance AS DWORD, BYVAL lpszCmdLine AS ASCIIZ PTR, BYVAL nCmdShow AS LONG) AS LONG

   LOCAL hDlg AS DWORD

   ' Required: Initialize the Ole Container
   OC_WinInit

   DIALOG NEW 0, "Microsoft Data Combo", , , 200, 98, %WS_OVERLAPPED OR %WS_THICKFRAME OR %WS_SYSMENU OR _
   %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX OR %WS_VISIBLE OR %DS_CENTER TO hDlg
   ' For icon from resource, instead use something like, LoadIcon(hInst, "APPICON")
   DIALOG SEND hDlg, %WM_SETICON, %ICON_SMALL, LoadIcon(%NULL, BYVAL %IDI_APPLICATION)
   DIALOG SEND hDlg, %WM_SETICON, %ICON_BIG, LoadIcon(%NULL, BYVAL %IDI_APPLICATION)

   ' We need to forward the messages to the control for keyboard handling
   ' and for that we need a message pump, so the dialog must be modeless.
   DIALOG SHOW MODELESS hDlg, CALL DlgProc

   ' Message handler loop
   LOCAL uMsg AS tagMsg
   WHILE GetMessage(uMsg, %NULL, 0, 0)
      IF ISFALSE OC_ForwardMessage(GetFocus, uMsg) THEN
         IF IsDialogMessage(hDlg, uMsg) = 0 THEN
            TranslateMessage uMsg
            DispatchMessage uMsg
         END IF
      END IF
   WEND

END FUNCTION
' ========================================================================================

' ========================================================================================
' Main Dialog procedure
' ========================================================================================
CALLBACK FUNCTION DlgProc() AS LONG

   LOCAL  hr AS LONG                          ' // HRESULT code
   LOCAL  rc AS RECT                          ' // RECT structure
   LOCAL  hDataCombo AS DWORD                 ' // Handle of the window that hosts the grid
   LOCAL  pDataCombo AS IDataCombo            ' // DataCombo object
   STATIC pCon AS ADOConnection               ' // ADO Connection object
   STATIC pRec AS ADORecordset                ' // ADO Recordset object
   STATIC pCbEvents AS DDataComboEventsImpl   ' // Events interface

   SELECT CASE CB.MSG

      CASE %WM_INITDIALOG

         ' Create a registration-free instance of the control
         LOCAL  cp AS OC_CREATEPARAMS
         cp.clsid = $CLSID_DataCombo
         cp.riid = $IID_IDataCombo
         cp.szLicKey = $RTLKEY_DATALIST
         cp.szLibName = EXE.Path$ & "MSDATLST.OCX"
         hDataCombo = CreateWindowEx(0, $OC_CLASSNAME, "", _
            %WS_CHILD OR %WS_VISIBLE OR %WS_BORDER OR %WS_TABSTOP, _
            0, 0, 0, 0, CB.HNDL, %IDC_DATACOMBO, GetModuleHandle(BYVAL %NULL), cp)

         ' Get a reference to the control
         pDataCombo = OC_GetDispatch(hDataCombo)
         IF ISOBJECT(pDataCombo) THEN
            ' Connect to the events fired by the control
            pCbEvents = CLASS "CDDataComboEvents"
            EVENTS FROM pDataCombo CALL pCbEvents
            ' Change the foreground and background colors
            pDataCombo.ForeColor = %BLUE
            pDataCombo.BackColor = RGB(225, 238, 255)
            ' Set the default font
            LOCAL pFont AS IFontDisp
            hr = OleCreateFontDisp("Verdana", 8, %FW_BOLD, %ANSI_CHARSET, 0, 0, 0, pFont)
            IF ISOBJECT(pFont) THEN
               pDataCombo.putref_Font = pFont
               pFont = NOTHING
            END IF
            ' Create an ADO connection object
            pCon = NEWCOM "ADODB.Connection"
            IF ISOBJECT(pCon) THEN
               ' Connection string - Remember to change the path of the Data Source if needed
               LOCAL ConStr AS STRING
               ConStr = UCODE$("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & EXE.Path$ & "Biblio.mdb")
               ' Set the connection string
               pCon.ConnectionString = ConStr
               ' Open the connection
               pCon.Open
               IF OBJRESULT = %S_OK THEN
                  ' Create an ADO recordset object
                  pRec = NEWCOM "ADODB.Recordset"
                  IF ISOBJECT(pRec) THEN
                     ' Open the recordset
                     LOCAL SqlStr AS STRING
                     SqlStr = "SELECT * FROM Publishers ORDER BY Name"
                     pRec.Open SqlStr, pCon, %adOpenKeyset, %adLockOptimistic, %adCmdText
                     ' Get the Datasource property of the recordset
                     LOCAL pDataSource AS DataSource
                     pDataSource = pRec.DataSource
                     IF ISOBJECT(pDataSource) THEN
                        ' Bind the recordset to the control
                        pDataCombo.putref_RowSource = pDataSource
                        pDataCombo.ListField = UCODE$("Name")
                        pDataSource = NOTHING
                     END IF
                  END IF
               END IF
            END IF
         END IF

      CASE %WM_SIZE
         IF CB.WPARAM <> %SIZE_MINIMIZED THEN
            GetClientRect CB.HNDL, rc
            MoveWindow GetDlgItem(CB.HNDL, %IDC_DATACOMBO), 0, 0, (rc.nRight - rc.nLeft), (rc.nBottom - rc.nTop), %TRUE
         END IF

      CASE %WM_COMMAND
         SELECT CASE CB.CTL
            CASE %IDCANCEL
               IF CB.CTLMSG = %BN_CLICKED THEN DIALOG END CB.HNDL, 0
         END SELECT

      CASE %WM_SYSCOMMAND
         ' Capture this message and send a %WM_CLOSE message,
         ' or the program may remain in memory
         IF (CBWPARAM AND &HFFF0) = %SC_CLOSE THEN
            DIALOG SEND CB.HNDL, %WM_CLOSE, 0, 0
         END IF

      CASE %WM_DESTROY
         ' Close the recordset
         IF ISOBJECT(pRec) THEN
            pRec.Close
            pRec = NOTHING
         END IF
         ' Close the connection
         IF ISOBJECT(pCon) THEN
            pCon.Close
            pCon = NOTHING
         END IF
         ' Disconnect events and quit
         IF ISOBJECT(pCbEvents) THEN EVENTS END pCbEvents
         PostQuitMessage 0

   END SELECT

END FUNCTION
' ========================================================================================


' ########################################################################################
' Class CDDataComboEvents
' Interface name = DDataComboEvents
' IID = {F0D2F21B-CCB0-11D0-A316-00AA00688B10}
' Event interface for DataCombo control
' Attributes = 4112 [&H1010] [Hidden] [Dispatchable]
' Code generated by the TypeLib Browser 4.0.13 (c) 2008 by José Roca
' Date: 17 dic 2008   Time: 22:42:54
' ########################################################################################

CLASS CDDataComboEvents GUID$("{789A44C0-3C27-4861-919B-251839A731F1}") AS EVENT

INTERFACE DDataComboEventsImpl GUID$("{F0D2F21B-CCB0-11D0-A316-00AA00688B10}") AS EVENT

  INHERIT IDispatch

   ' =====================================================================================
   METHOD Click <-600> ( _
     BYVAL Area AS INTEGER _                            ' Area VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD DblClick <-601> ( _
     BYVAL Area AS INTEGER _                            ' Area VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyDown <-602> ( _
     BYREF KeyCode AS INTEGER _                         ' *KeyCode VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyPress <-603> ( _
     BYREF KeyAscii AS INTEGER _                        ' *KeyAscii VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD KeyUp <-604> ( _
     BYREF KeyCode AS INTEGER _                         ' *KeyCode VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseDown <-605> ( _
     BYVAL iButton AS INTEGER _                         ' Button VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   , BYVAL x AS LONG _                                  ' x OLE_XPOS_PIXELS <alias> <VT_I4>
   , BYVAL y AS LONG _                                  ' y OLE_YPOS_PIXELS <alias> <VT_I4>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseMove <-606> ( _
     BYVAL iButton AS INTEGER _                         ' Button VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   , BYVAL x AS LONG _                                  ' x OLE_XPOS_PIXELS <alias> <VT_I4>
   , BYVAL y AS LONG _                                  ' y OLE_YPOS_PIXELS <alias> <VT_I4>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD MouseUp <-607> ( _
     BYVAL iButton AS INTEGER _                         ' Button VT_I2 <Integer>
   , BYVAL iShift AS INTEGER _                          ' Shift VT_I2 <Integer>
   , BYVAL x AS LONG _                                  ' x OLE_XPOS_PIXELS <alias> <VT_I4>
   , BYVAL y AS LONG _                                  ' y OLE_YPOS_PIXELS <alias> <VT_I4>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD Change <1>

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEStartDrag <1550> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF AllowedEffects AS LONG _                     ' [in][out] *AllowedEffects VT_I4 <Long>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEGiveFeedback <1551> ( _
     BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   , BYREF DefaultCursors AS INTEGER _                  ' [in][out] *DefaultCursors VT_BOOL <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLESetData <1552> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF DataFormat AS INTEGER _                      ' [in][out] *DataFormat VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLECompleteDrag <1553> ( _
     BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEDragOver <1554> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   , BYREF iButton AS INTEGER _                         ' [in][out] *Button VT_I2 <Integer>
   , BYREF iShift AS INTEGER _                          ' [in][out] *Shift VT_I2 <Integer>
   , BYREF x AS SINGLE _                                ' [in][out] *x VT_R4 <Single>
   , BYREF y AS SINGLE _                                ' [in][out] *y VT_R4 <Single>
   , BYREF iState AS INTEGER _                          ' [in][out] *State VT_I2 <Integer>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

   ' =====================================================================================
   METHOD OLEDragDrop <1555> ( _
     BYREF pData AS IDispatch _                         ' [in][out] **Data DataObject <coclass>
   , BYREF Effect AS LONG _                             ' [in][out] *Effect VT_I4 <Long>
   , BYREF iButton AS INTEGER _                         ' [in][out] *Button VT_I2 <Integer>
   , BYREF iShift AS INTEGER _                          ' [in][out] *Shift VT_I2 <Integer>
   , BYREF x AS SINGLE _                                ' [in][out] *x VT_R4 <Single>
   , BYREF y AS SINGLE _                                ' [in][out] *y VT_R4 <Single>
   )                                                    ' void

     ' *** Insert your code here ***
     OutputDebugString FUNCNAME$

   END METHOD
   ' =====================================================================================

END INTERFACE

END CLASS