📄 windem32.c
字号:
sprintf(s_str,"Get Calibrate Param Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Calibrate Param = %d",p_val);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_SET_ITIME:
error = get_itime(camera, &ihelp);
itime = ihelp;
if(DialogBox (hInst, "SET_ITIME", hwnd, SetITimeDlg) == IDOK)
{
error = set_itime(camera, itime);
if(error)
{
sprintf(s_str,"Set Integration Time Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
}
return 0;
case IDM_GET_ITIME:
error = get_itime(camera, &ihelp);
if(error)
{
sprintf(s_str,"Get Integration Time Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Get Integration Time = %d",ihelp);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_SET_EXPTIME:
error = get_integration_time(camera, &exptime);
if(DialogBox (hInst, "SET_EXPTIME", hwnd, SetExpTimeDlg) == IDOK)
{
error = set_integration_time(camera, exptime);
if(error)
{
sprintf(s_str,"Set Exposure Time Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
}
return 0;
case IDM_GET_EXPTIME:
error = get_integration_time(camera, &exptime);
if(error)
{
sprintf(s_str,"Get Integration Time Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Get Integration Time = %d",exptime);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_SET_GAIN:
error = get_gain(camera, &gain0,&gain1,&gain2,&gain3,&low_light);
if(DialogBox (hInst, "SET_GAIN", hwnd, SetGainDlg) == IDOK)
{
error = set_gain(camera, gain0, gain1, gain2, gain3, low_light);
if(error)
{
sprintf(s_str,"Set Gain Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
}
return 0;
case IDM_GET_GAIN:
error = get_gain(camera, &gain0,&gain1,&gain2,&gain3,&low_light);
if(error)
{
sprintf(s_str,"Get Gain Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Get0-3 = %d,%d,%d,%d - LowLight = %d",gain0, gain1, gain2, gain3, low_light);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_GET_VIDEO_WINDOW:
error = get_video_window(camera, &wx1, &wy1, &wx2, &wy2);
if(error)
{
sprintf(s_str,"Get Video Window Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Video Window = x1:%d, x2:%d,y1:%d,y2:%d",wx1,wx2,wy1,wy2);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_SET_VIDEO_WINDOW:
if(DialogBox (hInst, "SET_VIDEO_WINDOW", hwnd, SetVideoWindowDlg) == IDOK)
{
error = set_video_window(camera, wx1, wy1, wx2, wy2);
if(error)
{
sprintf(s_str,"Set Video Window Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Video Window = x1:%d, x2:%d,y1:%d,y2:%d",wx1,wx2,wy1,wy2);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
sprintf(s_str,"%ld x %ld",wx2 - wx1 + 1,wy2 - wy1 + 1);
set_status_bar(2,s_str);
}
}
return 0;
case IDM_SET_ROW_DELAY:
error = get_row_delay(camera, &row_delay);
if(DialogBox (hInst, "SET_ROW_DELAY", hwnd, SetRowDelayDlg) == IDOK)
{
error = set_row_delay(camera, row_delay);
if(error)
{
sprintf(s_str,"Set Row Delay Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
}
return 0;
case IDM_GET_ROW_DELAY:
error = get_row_delay(camera, &row_delay);
if(error)
{
sprintf(s_str,"Get Row Delay Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Get Row Delay = %d",row_delay);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_SET_FRAME_DELAY:
error = get_frame_delay(camera, &frame_delay);
if(DialogBox (hInst, "SET_FRAME_DELAY", hwnd, SetFrameDelayDlg) == IDOK)
{
error = set_frame_delay(camera, frame_delay);
if(error)
{
sprintf(s_str,"Set Frame Delay Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
}
return 0;
case IDM_GET_FRAME_DELAY:
error = get_frame_delay(camera, &frame_delay);
if(error)
{
sprintf(s_str,"Get Frame Delay Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
sprintf(s_str,"Get Frame Delay = %d",frame_delay);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONINFORMATION);
}
return 0;
case IDM_EN_SUBSAMPLING:
if(DialogBox (hInst, "SET_SUBSAMPLING", hwnd, SetSubsamlingDlg) == IDOK)
{
error = enable_subsampling(camera,ss_mode,ss_d_v,ss_d_h,ss_a_v,ss_a_h);
if(error)
{
sprintf(s_str,"Enabling Subsampling Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
f_subsample=1;
}
return 0;
case IDM_DIS_SUBSAMPLING:
error = disable_subsampling(camera);
if(error)
{
sprintf(s_str,"Disabling Subsampling Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
f_subsample=0;
return 0;
case IDM_INIT_SNAPSHOT:
if(DialogBox (hInst, "SET_SNAPSHOT", hwnd, SetSnapshotDlg) == IDOK)
{
error = initialize_snapshot(camera,snapshot_trigger, snapshot_shutter, snapshot_reset);
if(error)
{
sprintf(s_str,"Initializing Snapshot Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
}
return 0;
case IDM_SET_SNAPSHOT_TRIGGER_AKTIV:
error = set_snapshot_trigger_line(camera,1, 1);
if(error)
{
sprintf(s_str,"Set Snapshot Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
return 0;
case IDM_SET_SNAPSHOT_TRIGGER_INAKTIV:
error = set_snapshot_trigger_line(camera,1, 0);
if(error)
{
sprintf(s_str,"Set Snapshot Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
return 0;
case IDM_DIS_SNAPSHOT:
error = disable_snapshot(camera);
if(error)
{
sprintf(s_str,"Disable Snapshot Error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
return 0;
case IDM_LUT_NORMAL:
CheckMenuItem(GetMenu(hwnd),IDM_LUT_NORMAL,MF_CHECKED);
CheckMenuItem(GetMenu(hwnd),IDM_LUT_INVERS,MF_UNCHECKED);
CheckMenuItem(GetMenu(hwnd),IDM_LUT_LOWLIGHT,MF_UNCHECKED);
SetLUT(0);
return 0;
case IDM_LUT_INVERS:
CheckMenuItem(GetMenu(hwnd),IDM_LUT_NORMAL,MF_UNCHECKED);
CheckMenuItem(GetMenu(hwnd),IDM_LUT_INVERS,MF_CHECKED);
CheckMenuItem(GetMenu(hwnd),IDM_LUT_LOWLIGHT,MF_UNCHECKED);
SetLUT(1);
return 0;
case IDM_LUT_LOWLIGHT:
CheckMenuItem(GetMenu(hwnd),IDM_LUT_NORMAL,MF_UNCHECKED);
CheckMenuItem(GetMenu(hwnd),IDM_LUT_INVERS,MF_UNCHECKED);
CheckMenuItem(GetMenu(hwnd),IDM_LUT_LOWLIGHT,MF_CHECKED);
SetLUT(2);
return 0;
case IDM_SET_GRAB_PARAM:
if(DialogBox (hInst, "SET_GRABPARAMDLG", hwnd, SetGrabParamDlg) == IDOK)
{
error = set_grab_param(camera, img_cnt,fpga_mem_offset);
if(error)
{
sprintf(s_str,"Set grab param error = %d",error);
MessageBox(hwnd,s_str,szAppName,MB_OK | MB_ICONSTOP);
}
else
{
GetClientRect(hwndClient,&r);
cw = r.right - r.left;
ch = r.bottom - r.top;
get_video_window(camera,&x1,&y1,&x2,&y2);
iwidth = x2 - x1 +1;
iheight = y2 - y1+1;
if(img_cnt > 1)
iheight = (fpga_mem_offset * (int)(img_cnt)) / iwidth;
set_scroll_bar(hwndClient,cw, iwidth, ch , iheight);
}
}
return 0;
case IDM_FPGA_READ_WRITE:
DialogBox (hInst, "FPGADLG", hwnd, SetFPGADlg) ;
return 0;
case IDM_WB:
if(wb)
{
wb=0;
CheckMenuItem(GetMenu(hwnd),IDM_WB,MF_UNCHECKED);
}
else
{
wb=1;
CheckMenuItem(GetMenu(hwnd),IDM_WB,MF_CHECKED);
}
return 0;
case IDM_CAN:
DialogBox (hInst, "CAN_DLG", hwnd, CANDlg) ;
return 0;
}
break ;
case WM_PAINT:
PaintDC = BeginPaint(hwnd,&ps);
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY :
if(!params.bKill)
{
params.bKill = TRUE;
CloseHandle(hThread1);
}
if(hBitmapInfo)
{
GlobalUnlock(hBitmapInfo),
GlobalFree(hBitmapInfo);
}
close_cancam(camera); // Close CANCam
PostQuitMessage (0) ;
return 0 ;
case WM_SIZE:
{
HDWP hDWP;
RECT rc;
GetClientRect( hwnd, &rc );
hDWP = BeginDeferWindowPos( 2 );
DeferWindowPos( hDWP, hwndClient, NULL, 0, 0,
rc.right, rc.bottom-g_nStatusbarOffset,SWP_NOZORDER );
DeferWindowPos( hDWP, hwndStatusBar, NULL,
0, rc.bottom-g_nStatusbarOffset, g_nStatusbarOffset, rc.left,SWP_NOZORDER );
EndDeferWindowPos( hDWP );
}
return 0;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
LRESULT CALLBACK WndProcClient (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
static HDC PaintDC;
static HPALETTE OldPal=NULL,hPal;
DWORD ptradr;
BYTE *PPixel;
PAINTSTRUCT ps;
char s_str[50];
int lx,ly;
switch (iMsg)
{
case WM_CREATE :
vPos = 0;
hPos = 0;
return 0;
case WM_SIZE:
set_scroll_bar(hwnd,LOWORD(lParam), width, HIWORD(lParam) , height);
if(BMPFlag)
InvalidateRect(hwnd,NULL,FALSE);
return 0;
case WM_VSCROLL :
switch (LOWORD (wParam))
{
case SB_LINEUP :
if(vPos > 0)
vPos -= 1;
break ;
case SB_LINEDOWN :
if(vPos < vPosRange)
vPos += 1;
break ;
case SB_PAGEUP :
if(vPos > 10)
vPos -= 10;
break ;
case SB_PAGEDOWN:
if(vPos < vPosRange -10)
vPos += 10;
break ;
case SB_THUMBPOSITION :
case SB_THUMBTRACK :
vPos = HIWORD (wParam);
break ;
default :
break ;
}
vPos = max(0,min(vPos,vPosRange));
if(vPos != GetScrollPos(hwnd,SB_VERT))
{
SetScrollPos(hwnd, SB_VERT, vPos, TRUE) ;
if(BMPFlag)
InvalidateRect(hwnd,NULL,FALSE);
}
return 0 ;
case WM_HSCROLL :
switch (LOWORD (wParam))
{
case SB_LINELEFT :
if(hPos > 0)
hPos -= 1;
break ;
case SB_LINERIGHT :
if(hPos < hPosRange)
hPos += 1;
break ;
case SB_PAGELEFT :
if(hPos > 10)
hPos -= 10;
break ;
case SB_PAGERIGHT:
if(hPos < hPosRange -10)
hPos += 10;
break ;
case SB_LEFT :
hPos = 0;
break;
case SB_RIGHT :
hPos = width;
break ;
case SB_THUMBPOSITION :
case SB_THUMBTRACK :
hPos = HIWORD (wParam);
break ;
default :
break ;
}
hPos = max(0,min(hPos,hPosRange));
if(hPos != GetScrollPos(hwnd,SB_HORZ))
{
SetScrollPos(hwnd, SB_HORZ, hPos, TRUE) ;
if(BMPFlag)
InvalidateRect(hwnd,NULL,FALSE);
}
return 0 ;
case WM_PAINT:
PaintDC = BeginPaint(hwnd,&ps);
if(BMPFlag)
{
if(sensor_type == 0)
{
get_pixel_ptr(camera,0,&ptradr);
PPixel = (BYTE *)ptradr;
OldPal = SetBMPPalette(PaintDC,hwnd,&hPal); // set black/white palette
}
else
PPixel = Prgb;
SetDIBitsToDevice(PaintDC,0,0,width,height,hPos,0,vPos,height,
PPixel,(LPBITMAPINFO)get_bitmap_info(),DIB_RGB_COLORS);
if(sensor_type == 0)
{
SelectPalette(PaintDC, OldPal, FALSE); // set old palette
DeleteObject(hPal);
}
}
EndPaint(hwnd, &ps);
return 0;
case WM_MOUSEMOVE:
if(BMPFlag)
{
SetCursor (LoadCursor (NULL, IDC_CROSS)) ;
lx = LOWORD (lParam) + hPos;
ly = HIWORD (lParam) + vPos;
get_pixel_ptr(camera,0,&ptradr);
PPixel = (unsigned char *)(ptradr + ((int)width * ly) + lx);
sprintf(s_str,"(%d,%d) / %d",lx,ly,(unsigned char)*PPixel);
}
else
{
SetCursor (LoadCursor (NULL, IDC_ARROW)) ;
sprintf(s_str,"");
}
set_status_bar(1,s_str);
return 0;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -