SQLCreateDataSource displays a dialog box with which the user can add a data source.
' ****************************************************************************************
' Demostrates the use of the SQLCreateDataSource function
' SED_PBWIN - Use the PBWIN compiler
' ****************************************************************************************
#COMPILE EXE
#DIM ALL
#INCLUDE "ODBCAPI352.INC"
' ========================================================================================
' 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 LONG
DIALOG NEW 0, "SQLCreateDataSource Demo", , , 400, 240, %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)
CONTROL ADD BUTTON, hDlg, %IDOK, "&Ok", 0, 0, 50, 14, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_FLAT
CONTROL ADD BUTTON, hDlg, %IDCANCEL, "&Close", 0, 0, 50, 14, %WS_CHILD OR %WS_VISIBLE OR %WS_TABSTOP OR %BS_FLAT
DIALOG SHOW MODAL hDlg, CALL DlgProc
END FUNCTION
' ========================================================================================
' ========================================================================================
' Main Dialog procedure
' ========================================================================================
CALLBACK FUNCTION DlgProc() AS LONG
LOCAL rc AS RECT
SELECT CASE CBMSG
CASE %WM_SIZE
' Resize the two sample buttons of the Dialog
IF CBWPARAM <> %SIZE_MINIMIZED THEN
GetClientRect CBHNDL, rc
MoveWindow GetDlgItem(CBHNDL, %IDOK), (rc.nRight - rc.nLeft) - 185, (rc.nBottom - rc.nTop) - 35, 75, 23, %True
MoveWindow GetDlgItem(CBHNDL, %IDCANCEL), (rc.nRight - rc.nLeft) - 95, (rc.nBottom - rc.nTop) - 35, 75, 23, %True
DIALOG REDRAW CBHNDL
END IF
CASE %WM_COMMAND
SELECT CASE CBCTL
CASE %IDOK
IF CBCTLMSG = %BN_CLICKED THEN
SQLCreateDataSource(CBHNDL, "")
END IF
CASE %IDCANCEL
IF CBCTLMSG = %BN_CLICKED THEN DIALOG END CBHNDL, 0
END SELECT
END SELECT
END FUNCTION
' ========================================================================================