Пример #1
0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 窗口被创建
VOID CMainWnd::OnCreate()
{
#ifdef _MAKELANG
	OnViewLanguage(IDM_View_Default);
#else
	// 列出语言
	if (CLanguage::List(GetSubMenu(GetSubMenu(m_hMenu, 2), 12)) != IDM_View_Default)
	{
		// 翻译菜单
		CLanguage::TranslateMenu(m_hMenu, MAKEINTRESOURCE(IDR_Menu));
	}
#endif

	// 创建
	CClientWnd::Create();

	// 设置菜单项状态
	OnViewMenu();

	// 注册热键
	RegisterHotKey(m_hWnd, IDC_TrayIcon, MOD_WIN, 'V');

	// 读取新近文件列表
	CRecentFile::Load(GetSubMenu(m_hMenu, 0), 4);

	// 设置同步状态
	//CRawVideo::SetSync(CIni::GetInt(INI_Synchronize));
	//CheckCommand(IDM_Play_Synchronize, CRawPlayer::m_bSync);
}
Пример #2
0
BOOL CMainFrame::OnCommand(WPARAM wParam_, LPARAM lParam_) 
{
	// TODO: Add your specialized code here and/or call the base class
	UINT _uCmd = LOWORD(wParam_);
	if ((_uCmd >= IDM_View_Default) && (_uCmd <= IDM_View_Default + 49))
	{
		// 改变语言
		if (((MF_CHECKED & GetMenuState(this->GetMenu()->m_hMenu, _uCmd, MF_BYCOMMAND)) != MF_CHECKED))
		{
			OnViewLanguage(_uCmd);
		}
		return 0;
	}

	return CFrameWnd::OnCommand(wParam_, lParam_);
}
Пример #3
0
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct_)
{

#ifdef _TEST_CODE
	CDxfParserEx* creationClass = new CDxfParserEx();
	DL_Dxf* dxf = new DL_Dxf();
	if (!dxf->in("C:\\1.dxf", creationClass)) 
	{ 
		return 0;
	}
#endif

	if (CFrameWnd::OnCreate(lpCreateStruct_) == -1)
		return -1;

	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("未能创建工具栏\n");
		return -1;      // 未能创建
	}

	if (!m_wndEditToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_LEFT
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndEditToolBar.LoadToolBar(IDR_EDIT))
	{
		TRACE0("未能创建工具栏\n");
		return -1;      // 未能创建
	}

	if (!CreateComboBox(ID_COMBOBOX))
	{
		TRACE0("Failed to create combo box\n");
		return -1;
	}


	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("未能创建状态栏\n");
		return -1;      // 未能创建
	}


	// TODO: Delete these three lines if you don't want the toolbar to
	//  be dockable
	//  m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	//  EnableDocking(CBRS_ALIGN_ANY);
	//  DockControlBar(&m_wndToolBar);

	////////////////////////////////////////////

	if( !m_wndCoolBar.Create(_T("控制栏"),this, CSize( 250, 400 ), TRUE, 123 ) )
	{ 
		TRACE0("Failed to create mybar\n"); 
		return -1;
	}

	//设置样式
	m_wndCoolBar.SetBarStyle( m_wndCoolBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | 
		CBRS_SIZE_DYNAMIC );

	//设置停靠
	m_wndCoolBar.EnableDocking( CBRS_ALIGN_ANY );
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar( &m_wndCoolBar, AFX_IDW_DOCKBAR_RIGHT);///停靠

	//////

	m_wndTabCtrl.Create( TCS_DOWN | WS_CHILD | WS_VISIBLE, CRect( 0, 0, 200, 200),
		&m_wndCoolBar, 125);

	//生成TOC对话框,并加入m_wndTabCtrl中
	if( m_formDlg.Create( IDD_FORMVIEW, &m_wndTabCtrl ) )
		m_wndTabCtrl.AddPage( &m_formDlg ,_T("控制"));

	m_formDlg.ShowWindow( SW_SHOW );
	m_wndTabCtrl.UpdateWindow();

	////////////////////////////////////////////

	if( !m_wndBotmCoolBar.Create(_T("CNC控制栏"),this, CSize( 250, 165 ), TRUE, 123 ) )
	{ 
		TRACE0("Failed to create mybar\n"); 
		return -1;
	}

	//设置样式
	m_wndBotmCoolBar.SetBarStyle( m_wndBotmCoolBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | 
		CBRS_SIZE_DYNAMIC );

	//设置停靠
	m_wndBotmCoolBar.EnableDocking( CBRS_ALIGN_ANY );
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar( &m_wndBotmCoolBar, AFX_IDW_DOCKBAR_BOTTOM);///停靠

	//////

	m_tabCtrlBottom.Create( TCS_UP | WS_CHILD | WS_VISIBLE, CRect( 0, 0, 200, 200),
		&m_wndBotmCoolBar, 125);

	//生成TOC对话框,并加入m_wndTabCtrl中
	

	if( m_dialogCCD.Create( IDD_FORMVIEW_CCD, &m_tabCtrlBottom ) )
	{
		m_tabCtrlBottom.AddPage(&m_dialogCCD ,_T("CCD"));
	}

	m_dialogCCD.ShowWindow( SW_SHOW );

	/*if(m_dialogCameraConfig.Create(IDD_CAMERA_CONFIG, &m_tabCtrlBottom))
		m_tabCtrlBottom.AddPage( &m_dialogCameraConfig ,_T("相机参数配置"));

	if(m_dialogImageConfig.Create(IDD_IMAGE_CONFIG, &m_tabCtrlBottom))
		m_tabCtrlBottom.AddPage( &m_dialogImageConfig ,_T("图像参数配置"));

	if(m_dialogMotionConfig.Create(IDD_MOTION_CONFIG, &m_tabCtrlBottom))
		m_tabCtrlBottom.AddPage( &m_dialogMotionConfig ,_T("运动参数配置"));

	m_dialogMotionConfig,ShowWindow(SW_SHOW);
	m_dialogImageConfig.ShowWindow(SW_SHOW);
	m_dialogCameraConfig.ShowWindow( SW_SHOW );*/
	
	m_wndTabCtrl.UpdateWindow();

	// TODO: 如果不需要工具栏可停靠,则删除这三行
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);

	m_wndEditToolBar.EnableDocking(CBRS_ALIGN_ANY);

	DockControlBar(&m_wndEditToolBar);

#ifdef _MAKELANG
	OnViewLanguage(IDM_View_Default);
#else
	// 列出语言文件
	if (CLanguage::List(GetSubMenu(GetSubMenu(this->GetMenu()->m_hMenu, 2), 3)) != IDM_View_Default)
	{
		CLanguage::TranslateMenu(this->GetMenu()->m_hMenu, MAKEINTRESOURCE(IDR_MAINFRAME));
	}
#endif
	
	//初始化运动控制卡
	InitMCard();

	RegistMsgWnd(m_hWnd);

	//SetTimer(100,300,NULL);
	return 0;
}
Пример #4
0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 命令处理
VOID CMainWnd::OnCommand(WPARAM wParam, LPARAM lParam)
{
	PTSTR p;
	DWORD dwSize;
	CChildWnd *pWnd;	
	TCHAR tzTemp[512];
	TCHAR tzPath[512];

	if ((LOWORD(wParam) >= IDM_View_Default) && (LOWORD(wParam) < IDM_View_Default + 50))
	{
		// 改变语言
		if (IsMenuChecked(LOWORD(wParam)) == FALSE)
		{
			OnViewLanguage(LOWORD(wParam));
		}
		return;
	}
	else if ((LOWORD(wParam) >= IDM_File_Recent) && (LOWORD(wParam) < IDM_File_Recent + 10))
	{
		// 打开新近文件
		GetMenuString(m_hMenu, LOWORD(wParam), tzTemp, _NumOf(tzTemp), MF_BYCOMMAND);
		OnFileOpen(tzTemp + 4);
		return;
	}

	switch (LOWORD(wParam))
	{
	case IDM_File_Open:
		OnFileOpen((PTSTR) lParam);
		break;

	case IDM_File_Exit:
		PostMessage(m_hWnd, WM_CLOSE, 0, 0);
		break;

	case IDM_View_Toolbar:
	case IDM_View_StatusBar:
	case IDM_View_AlwaysOnTop:
	case IDM_View_MinToTray:
	case IDM_View_ShowSplash:
	case IDM_View_ShowOpen:
	case IDM_View_PlayOnOpen:
		// 查看选项
		OnViewMenu(LOWORD(wParam), FALSE);
		break;

	case IDM_View_AssociateFile:
		GetModuleFileName(NULL, tzPath, MAX_PATH);
		wsprintf(tzTemp, TEXT("\"%s\" \"%%1\""), tzPath);
		dwSize = _NumOf(tzPath);
		SHGetValue(HKEY_CLASSES_ROOT, STR_AppName TEXT("\\shell\\open\\command"), NULL, NULL, tzPath, &dwSize);
		if (lstrcmpi(tzTemp, tzPath) == 0)
		{
			SHDeleteKey(HKEY_CLASSES_ROOT, STR_AppName);

			for (p = STR_ExtList; *p; p += lstrlen(p) + 1)
			{
				SHDeleteKey(HKEY_CLASSES_ROOT, p);
			}
		}
		else
		{
			SHSetValue(HKEY_CLASSES_ROOT, 
				STR_AppName TEXT("\\shell\\open\\command"), NULL, REG_SZ, tzTemp, _StrSize(tzTemp));

			GetModuleFileName(NULL, tzPath, MAX_PATH);
			wsprintf(tzTemp, TEXT("\"%s\",1"), tzPath);
			SHSetValue(HKEY_CLASSES_ROOT, STR_AppName TEXT("\\DefaultIcon"), NULL, REG_SZ, tzTemp, _StrSize(tzTemp));

			for (p = STR_ExtList; *p; p += lstrlen(p) + 1)
			{
				SHSetValue(HKEY_CLASSES_ROOT, p, NULL, REG_SZ, STR_AppName, sizeof(STR_AppName));
			}
		}
		break;

	case IDM_Window_Cascade:
		SendMessage(CClientWnd::m_hWnd, WM_MDICASCADE, 0, 0);
		return;

	case IDM_Window_TitleHorz:
		SendMessage(CClientWnd::m_hWnd, WM_MDITILE, MDITILE_HORIZONTAL, 0);
		break;

	case IDM_Window_TitleVert:
		SendMessage(CClientWnd::m_hWnd, WM_MDITILE, MDITILE_VERTICAL, 0);
		break;

	case IDM_Window_ArrangeIcons:
		SendMessage(CClientWnd::m_hWnd, WM_MDIICONARRANGE, 0, 0);
		break;

	case IDM_Window_CloseAll:
		CClientWnd::CloseAll();
		break;

	case IDM_Help_Content:
		// 查看帮助内容
		GetModuleFileName(NULL, tzTemp, MAX_PATH);
		lstrcpy(_StrEnd(tzTemp) - _LenOf(EXT_Chm), EXT_Chm);
		if (ShellExecute(NULL, NULL, tzTemp, NULL, NULL, SW_SHOW) <= (HINSTANCE) 32)
		{
			ErrorBox(ERR_HelpErr);
		}
		break;

	case IDM_Help_Desktop:
	case IDM_Help_StartMenu:
	case IDM_Help_ProgramMenu:
	case IDM_Help_QuickLaunch:
	case IDM_Help_VisualStudio:
		// 创建或删除快捷方式
		OnHelpShortcut(LOWORD(wParam));
		break;

	case IDM_Help_About:
		// 显示关于对话框
		CAboutDlg::Show(m_hWnd);
		break;

	case IDC_TrayIcon:
		// 系统托盘消息
		if ((lParam == WM_LBUTTONUP) || (lParam == WM_RBUTTONUP))
		{
			OnTrayIcon(FALSE);
		}
		break;

	default:
		pWnd = CClientWnd::GetChildWnd();
		_ExIf(pWnd, pWnd->OnCommand(wParam, lParam));
	}
}