windows-nt/Source/XPSP1/NT/printscan/wia/drivers/camera/ircamera/camevent.cpp
2020-09-26 16:20:57 +08:00

191 lines
3.8 KiB
C++

/*++
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 <stdio.h>
#include <objbase.h>
#include <sti.h>
#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;
}