User manual - イメージャライブラリマニュアルver.1.06(2012年3月29日)

Table Of Contents
230
5.4 一括読み処理
この例では、一括読み機能を使って 2 個のシンボルをデコードし、それぞれの結果をエディットボックスに
表示しています。"Start"ボタンが押されるとデコードを開始し、"Stop"ボタンが押されると中断します。
#define IDC_BTNSTART 101
#define IDC_BTNSTOP 102
#define VKEY_CLR VK_DELETE // Virtual Key of CLR Key
DWORD WINAPI DecodeThread( LPVOID);
HANDLE g_hDecodeEvent[ 2];
HWND g_hEditMessage1, g_hEditMessage2;
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HWND hBtnStart, hBtnStop;
static HANDLE hDecodeThread;
DWORD dwID;
switch ( message)
{
case WM_COMMAND:
switch( LOWORD( wParam))
{
case IDC_BTNSTART:
SetEvent( g_hDecodeEvent[ 0]);
break;
case IDC_BTNSTOP:
IMGStopDecode();
break;
}
break;
case WM_CREATE:
...
g_hEditMessage1 = CreateWindow( TEXT( "edit"), NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
8, 30, 112, 40, hWnd, ( HMENU)1, hInst, NULL);
g_hEditMessage2 = CreateWindow( TEXT( "edit"), NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
8, 74, 112, 40, hWnd, ( HMENU)1, hInst, NULL);
hBtnStart = CreateWindow( TEXT("button"), TEXT("Start"),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
8, 118, 48, 20, hWnd, ( HMENU)IDC_BTNSTART, hInst, NULL);
hBtnStop = CreateWindow( TEXT("button"), TEXT("Stop"),
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
72, 118, 48, 20, hWnd, ( HMENU)IDC_BTNSTOP, hInst, NULL);
g_hDecodeEvent[ 0] = CreateEvent( NULL, FALSE, FALSE, TEXT("StartDecode"));
g_hDecodeEvent[ 1] = CreateEvent( NULL, FALSE, FALSE, TEXT("StopDecode"));
hDecodeThread = CreateThread( NULL, 0, DecodeThread, NULL, 0, &dwID);