⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 okmask.c

📁 OK系列PCI图象卡编程程序,MFC方式,压缩形式
💻 C
字号:
#include <windows.h>
#include <commdlg.h>

#include <stdio.h>

#include "resource.h"

#include "okapi32.h"

extern	HANDLE		hBoard;

void DemoMask();

BOOL APIENTRY IddMask(HWND hDlg,unsigned message,UINT wParam,LONG lParam)
{
	//采集位屏蔽
    switch (message){
	case WM_INITDIALOG:
		switch(okEnableMask(hBoard,-1)){
		case 0:
			break;
		case 1:
			CheckDlgButton(hDlg,IDC_SETMASK,TRUE);
			CheckDlgButton(hDlg,IDC_SHARPMASK,TRUE);
			break;
		case 2:
			CheckDlgButton(hDlg,IDC_SETMASK,TRUE);
			break;
		}
		break;
	case WM_COMMAND:
		switch(LOWORD(wParam)){
		case IDOK:
			//设置位屏蔽
			okEnableMask(hBoard,0);
			if(IsDlgButtonChecked(hDlg,IDC_SETMASK)){
				DemoMask();

				//正反向位屏蔽
				if(IsDlgButtonChecked(hDlg,IDC_SHARPMASK)) okEnableMask(hBoard,1);
				else okEnableMask(hBoard,2);
			}

			EndDialog(hDlg,TRUE);
			return (TRUE);
		case IDCANCEL:
            EndDialog(hDlg, TRUE);
            return (TRUE);
		default:
			break;
		}
        break;
	default:
		break;
	}
	return (FALSE);
}

void EnabledDlgItem(HWND hDlg,BOOL Param)
{
	EnableWindow(GetDlgItem(hDlg,IDC_RADIOLOW),Param);
	EnableWindow(GetDlgItem(hDlg,IDC_RADIOMID),Param);
	EnableWindow(GetDlgItem(hDlg,IDC_RADIOHIGH),Param);
	EnableWindow(GetDlgItem(hDlg,IDC_SCROLLBARHORI),Param);
	EnableWindow(GetDlgItem(hDlg,IDC_SCROLLBARVERT),Param);
}


//--demo to mask some areas just for those cards with masking capablilty   
void DemoMask()
{
	int		i;
	RECT	rect;
	BYTE	lpMask[40960];
	
	//1. way to set mask rect
	ZeroMemory(lpMask,20000); //clear bits 
	SetRect(&rect,10,10,110,110);	
	for(i=20;i<80;i++)
		lpMask[100+i]=1;
	for(i=1;i<99;i++)
		lpMask[5000+i]=1;

	for(i=1;i<99;i++)
		lpMask[100*50+i]=1;
	for(i=1;i<99;i++)
		lpMask[i*100+50]=1;
	okSetMaskRect(hBoard,&rect,lpMask);

	FillMemory(lpMask,40000,1); //set bits 
	SetRect(&rect,200,19,300,119);	
	for(i=1;i<99;i++)
		lpMask[5000+i]=0;
	for(i=1;i<99;i++)
		lpMask[i*100+50]=0;
	okSetMaskRect(hBoard,&rect,lpMask);

	//2. way
	rect.left=200;
	rect.top=200;
	rect.right=280;
	rect.bottom=280;
	okSetMaskRect(hBoard,&rect,(LPSTR)0); //disable video 
	InflateRect(&rect,-20,-20);	
	okSetMaskRect(hBoard,&rect,(LPSTR)1); //enable video 

	SetRect(&rect,0,300,200,301);
	okSetMaskRect(hBoard,&rect,(LPSTR)0);  
	SetRect(&rect,0,302,200,303);
	okSetMaskRect(hBoard,&rect,(LPSTR)0);  
	SetRect(&rect,0,305,200,306);
	okSetMaskRect(hBoard,&rect,(LPSTR)0);  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -