/*++ Copyright (c) 1989-1998 Microsoft Corporation Module Name: camevent.cpp Abstract: Enumerate disk images to emulate camera Author: Mark Enstrom (marke) 1/13/1999 Environment: user mode Revision History: --*/ #include #include #include #include "ircamera.h" #include "tcamprop.h" #include "resource.h" extern HINSTANCE g_hInst; // Global hInstance CAM_EVENT gCamEvent[] = { { TEXT("Pathname Change"), &WIA_EVENT_NAME_CHANGE }, { TEXT("Disconnect"), &WIA_EVENT_DEVICE_DISCONNECTED }, { TEXT("Connect"), &WIA_EVENT_DEVICE_CONNECTED } }; TCHAR gpszPath[MAX_PATH]; /**************************************************************************\ * CameraEventDlgProp * * * Arguments: * * hDlg * message * wParam * lParam * * Return Value: * * Status * * History: * * 1/11/1999 Original Version * \**************************************************************************/ BOOL _stdcall CameraEventDlgProc( HWND hDlg, unsigned message, DWORD wParam, LONG lParam ) /*++ Routine Description: Process message for about box, show a dialog box that says what the name of the program is. Arguments: hDlg - window handle of the dialog box message - type of message wParam - message-specific information lParam - message-specific information Return Value: status of operation Revision History: 03-21-91 Initial code --*/ { static IrUsdDevice *pDevice; switch (message) { case WM_INITDIALOG: { // // get event list from device // SendDlgItemMessage( hDlg, IDC_COMBO1, CB_INSERTSTRING, 0, (long)gCamEvent[0].pszEvent); SendDlgItemMessage( hDlg, IDC_COMBO1, CB_INSERTSTRING, 1, (long)gCamEvent[1].pszEvent); SendDlgItemMessage( hDlg, IDC_COMBO1, CB_INSERTSTRING, 2, (long)gCamEvent[2].pszEvent); SendDlgItemMessage(hDlg, IDC_COMBO1, CB_SETCURSEL, 0, 0); pDevice = (IrUsdDevice*)lParam; pDevice->m_hDlg = hDlg; SetDlgItemText(hDlg, IDC_EDIT1, gpszPath); } break; case WM_COMMAND: switch(wParam) { case IDCANCEL: case IDOK: { //if (IDYES == MessageBox( hDlg, TEXT("Are you sure you want to close the event dialog?"), TEXT("IR Camera"), MB_ICONQUESTION|MB_YESNOCANCEL )) EndDialog( hDlg, wParam ); } break; case IDD_GEN_EVENT: { // // if event is not already set // // // get selected // int i = SendDlgItemMessage( hDlg, IDC_COMBO1, CB_GETCURSEL, 0, 0); pDevice->m_guidLastEvent = *gCamEvent[i].pguid; // // private event // if (IsEqualIID(pDevice->m_guidLastEvent,WIA_EVENT_NAME_CHANGE)) { UINT ui = GetDlgItemText( hDlg, IDC_EDIT1, gpszPath, MAX_PATH ); } SetEvent(pDevice->m_hSignalEvent); WIAS_TRACE((g_hInst,"CameraEventDlgProc(): SetEvent()")); return TRUE; } } break; } return FALSE; }