コード例 #1
0
INT_PTR
pShowMessageBox(
	LPCTSTR szMessage, 
	LPCTSTR szTitle,
	HWND hWnd,
	LPCTSTR szDontShowOptionValueName,
	INT_PTR iDefaultButton,
	INT_PTR iDefaultResponse)
{
	CConfirmDlg dlg;

	BOOL fDontShow = FALSE;
	BOOL fSuccess = pGetAppConfigValue(szDontShowOptionValueName,&fDontShow);
	if (fSuccess && fDontShow) {
		return iDefaultResponse;
	}

	dlg.SetMessage(szMessage);
	dlg.SetTitle(szTitle);
	dlg.SetDefaultButton(iDefaultButton);

	INT_PTR iResult = dlg.DoModal();
	fDontShow = dlg.GetDontShow();
	if (fDontShow) {
		fSuccess = pSetAppConfigValue(szDontShowOptionValueName,(BOOL)TRUE);
	}

	return iResult;
}
コード例 #2
0
ファイル: Wizard.cpp プロジェクト: ohosrry/visualfc
bool CWizard::make_project()
{
	wizard.AddSymbol(info.ar_app[info.nAppType],true);
	wizard.AddSymbol("WINX_USE_CPP_FILES",info.bCppFiles);
	wizard.AddSymbol("WINX_USE_MENUBAR", info.bMenuBar);
	wizard.AddSymbol("WINX_USE_REBAR",info.bReBar);
	wizard.AddSymbol("WINX_USE_CMDBAR",info.bCmdBar);
	wizard.AddSymbol("WINX_USE_TOOLBAR",info.bToolBar);
	wizard.AddSymbol("WINX_USE_STATUSBAR",info.bStatusBar);
	wizard.AddSymbol("WINX_ENABLE_AX",info.bEnableActiveX);
	wizard.AddSymbol("WINX_USE_MANIFEST",info.bManifest);
	wizard.AddSymbol("WINX_HOST_AX",info.bHostActiveX);
	wizard.AddSymbol("WINX_USE_UNICODE",info.bUnicode);
	wizard.AddSymbol("WINX_USE_VIEW",info.bUseView);
	wizard.AddSymbol("PROJECT_LANG_"+info.ar_lang[info.nAppLang],true);
	wizard.AddSymbol("WINX_USE_GDIPLUS",info.bGdiPlus);
	wizard.AddSymbol("WINX_USE_ACCEL",info.bAccel);
	wizard.AddSymbol("WINX_USE_DDX",info.bDDX);
	wizard.AddSymbol("WINX_USE_DEFSDK",info.bDefSDK);

	if (info.bFrameDialog == false)
	{
		wizard.AddSymbol("WINX_USE_LOOKNFEEL",info.bLookNFeel);
	}
	
	wizard.AddSymbol("WINX_APPTYPE_DLG_FRAME",info.bFrameDialog);
	wizard.AddSymbol("WINX_USE_ADDVFCFILES",info.bAddVFCFiles);

	wizard.AddSymbol("PROJECT_NAME",info.strProjectName);
	wizard.AddSymbol("PROJECT_PATH",info.strProjectPath);
	wizard.AddSymbol("PROJECT_ENCODE","Windows-1252");
	wizard.AddSymbol("PROJECT_GUID",wizard.make_guid());

	wizard.AddSymbol("WINX_MAINDLG_CLASS","CMainDlg");
	wizard.AddSymbol("WINX_MAINDLG_FILE","MainDlg");

	if (info.nViewType == 6)
	{
		info.bEnableActiveX = true;
	}

	if (info.nAppType == 0)
	{
		if (info.bEnableActiveX)
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::AxModelDialog");
		else
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::ModelDialog");
	}
	else if (info.nAppType == 1)
	{
		if (info.bEnableActiveX)
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::AxModelessDialog");
		else
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::ModelessDialog");
	}

	if (info.bVS60)
		wizard.AddSymbol("PROJECT_VS60",true);
	if (info.bVS2002)
		wizard.AddSymbol("PROJECT_VS2002",true);
	if (info.bVS2003)
		wizard.AddSymbol("PROJECT_VS2003",true);
	if (info.bVS2005)
		wizard.AddSymbol("PROJECT_VS2005",true);
	if (info.bVS2008)
		wizard.AddSymbol("PROJECT_VS2008",true);
	
	if ( (info.bVS2005 || info.bVS2008) && info.bManifest)
	{
		wizard.AddSymbol("WINX_USE_EMBEDDED_MANIFEST", true);
		if (!info.bVS60 && !info.bVS2002 && !info.bVS2003)
			wizard.AddSymbol("WINX_USE_MANIFEST", false);
	}
	if (info.bVCExpress)
	{
		wizard.AddSymbol("WTL_USE_SDK_ATL3", true);
	}
	
	// Create symbols based on the project name
	CString strSafeProjectName = CreateSafeName(info.strProjectName);
	wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);
	CString tmp = strSafeProjectName.Left(1);
	tmp.MakeUpper();
	tmp += strSafeProjectName.Right(strSafeProjectName.GetLength()-1);
	wizard.AddSymbol("NICE_SAFE_PROJECT_NAME", tmp);
	tmp.MakeUpper();
	wizard.AddSymbol("UPPERCASE_SAFE_PROJECT_NAME", tmp);
	
	// Set current year symbol
	SYSTEMTIME st = {0};
	::GetLocalTime(&st);
	if(st.wYear >= 2003)
	{
		tmp.Format(_T("%d"),st.wYear);
		wizard.AddSymbol("WTL_CURRENT_YEAR", tmp);
	}

	// Set view symbols
	if(wizard.FindSymbol("WINX_USE_VIEW"))
	{
		CString strViewFile = info.strProjectName + "View";
		wizard.AddSymbol("WINX_VIEW_FILE", strViewFile);
		
		CString strViewClass = "C" + wizard.FindSymbolVal("NICE_SAFE_PROJECT_NAME") + "View";
		wizard.AddSymbol("WINX_VIEW_CLASS", strViewClass);
		wizard.AddSymbol("WINX_VIEW_CLASS_REG",wizard.FindSymbolVal("NICE_SAFE_PROJECT_NAME") + "View");
		
	//	wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", false);
	//	wizard.AddSymbol("WTL_VIEW_BASE_CLASS","CWindowImpl");
	//	wizard.AddSymbol("WTL_VIEW_STYLES","WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN");
	//	wizard.AddSymbol("WTL_VIEW_EX_STYLES","WS_EX_CLIENTEDGE");
		switch(info.nViewType)
		{
		case 0:
			wizard.AddSymbol("WINX_VIEWTYPE_GENERIC",true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS","winx::Window");
			break;
		case 1:
			wizard.AddSymbol("WINX_VIEWTYPE_LISTBOX", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::ListBox");
			break;
		case 2:
			wizard.AddSymbol("WINX_VIEWTYPE_EDIT", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::Edit");
			break;
		case 3:
			wizard.AddSymbol("WINX_VIEWTYPE_LISTVIEW", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::ListCtrl");
			break;
		case 4:
			wizard.AddSymbol("WINX_VIEWTYPE_TREEVIEW", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::TreeCtrl");
			break;
		case 5:
			wizard.AddSymbol("WINX_VIEWTYPE_RICHEDIT", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::RichEdit");
			break;
		case 6:
			wizard.AddSymbol("WINX_VIEWTYPE_HTML", true);
			break;
		case 7:
			wizard.AddSymbol("WINX_VIEWTYPE_SCROLL", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::ScrollWindow");
			break;
		default:
			wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", true);
			break;
		}
		
		if(wizard.FindSymbol("WINX_VIEWTYPE_HTML"))
			wizard.AddSymbol("WINX_USE_VIEW", false);
	}

	CString strInfFile = info.templatePath + "\\Templates.inf";

	str_vector array;
	wizard.load_file_vector(strInfFile,array);

	CConfirmDlg dlg;
	dlg.m_projectPath = info.strProjectPath;
	
	CString t1,t2,t3;
	wizard.get_define_info(t1);
	wizard.get_output_info(t2);
	CString t4;
	for (str_vector::iterator it = array.begin(); it != array.end(); it++)
	{
		t4 = *it;
		t4.TrimLeft();
		t4.TrimRight();
		if (!t4.IsEmpty())
		{
			t3 += _T(".\\")+GetTargetName(t4,info.strProjectName);
			t3 += _T("\r\n");
		}
	}
	dlg.m_info = t1+_T("\r\n")+t2+_T("\r\n")+t3;

	if (dlg.DoModal() == IDOK)	
	{
		return AddFilesToProject(info.strProjectName,info.strProjectPath,array);
	}
	else
	{
		wizard.clear();
		return false;
	}
	return false;
}
コード例 #3
0
ファイル: Wizard.cpp プロジェクト: ohosrry/visualfc
bool CWizard::make_project()
{
	wizard.AddSymbol(info.ar_app[info.nAppType],true);
	wizard.AddSymbol("WTL_APPTYPE_DLG_MODAL",info.bModalDialog);
	wizard.AddSymbol("WTL_COM_SERVER",info.bComServer);
	wizard.AddSymbol("WTL_USE_CPP_FILES",info.bCppFiles);
	wizard.AddSymbol("WTL_USE_TOOLBAR",info.bToolBar);
	wizard.AddSymbol("WTL_USE_STATUSBAR",info.bStatusBar);
	wizard.AddSymbol("WTL_ENABLE_AX",info.bEnableActiveX);
	wizard.AddSymbol("WTL_HOST_AX",info.bHostActiveX);
	wizard.AddSymbol("WTL_USE_VIEW",info.bUseView);
	wizard.AddSymbol("PROJECT_LANG_"+info.ar_lang[info.nAppLang],true);


	wizard.AddSymbol("PROJECT_NAME",info.strProjectName);
	wizard.AddSymbol("PROJECT_PATH",info.strProjectPath);
	wizard.AddSymbol("PROJECT_ENCODE","Windows-1252");
	wizard.AddSymbol("PROJECT_GUID",wizard.make_guid());


	if (info.nSDKType == 0)
	{
		wizard.AddSymbol("WTL_SDKTYPE_NODEF",true);
	}
	else if (info.nSDKType == 1)
	{
		wizard.AddSymbol("WTL_SDKTYPE_0400",true);
	}
	else if (info.nSDKType == 2)
	{
		wizard.AddSymbol("WTL_SDKTYPE_0500",true);
	}
	else if (info.nSDKType == 3)
	{
		wizard.AddSymbol("WTL_SDKTYPE_0600",true);
	}

	if (info.nAppType == 3)
	{
		wizard.AddSymbol("WTL_MAINDLG_FILE","MainDlg");
	}
	else
	{
		wizard.AddSymbol("WTL_FRAME_CLASS","CMainFrame");
		wizard.AddSymbol("WTL_FRAME_FILE","MainFrm");
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CFrameWindowImpl");
		
		if (info.nAppType == 2)
		{
			wizard.AddSymbol("WTL_CHILD_FRAME_FILE","ChildFrm");
			wizard.AddSymbol("WTL_CHILD_FRAME_CLASS","CChildFrame");
		}
	}

	if (info.bVS60)
		wizard.AddSymbol("PROJECT_VS60",true);
	if (info.bVS2002)
		wizard.AddSymbol("PROJECT_VS2002",true);
	if (info.bVS2003)
		wizard.AddSymbol("PROJECT_VS2003",true);
	if (info.bVS2005)
		wizard.AddSymbol("PROJECT_VS2005",true);
	if (info.bVS2008)
		wizard.AddSymbol("PROJECT_VS2008",true);

	if (info.nAppType == 3 || info.nAppType == 4)
		wizard.AddSymbol("WTL_USE_VIEW",true);
	
	// Create symbols based on the project name
	CString strSafeProjectName = CreateSafeName(info.strProjectName);
	wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);
	CString tmp = strSafeProjectName.Left(1);
	tmp.MakeUpper();
	tmp += strSafeProjectName.Right(strSafeProjectName.GetLength()-1);
	wizard.AddSymbol("NICE_SAFE_PROJECT_NAME", tmp);
	tmp.MakeUpper();
	wizard.AddSymbol("UPPERCASE_SAFE_PROJECT_NAME", tmp);
	
	// Set current year symbol
	SYSTEMTIME st = {0};
	::GetLocalTime(&st);
	if(st.wYear >= 2003)
	{
		tmp.Format(_T("%d"),st.wYear);
		wizard.AddSymbol("WTL_CURRENT_YEAR", tmp);
	}
	
	// Set APPID and LIBID symbols for COM servers
	if(wizard.FindSymbol("WTL_COM_SERVER"))
	{
		wizard.AddSymbol("WTL_APPID", wizard.make_guid());
		
		wizard.AddSymbol("WTL_LIBID", wizard.make_guid());
	}		// Set app type symbols
	// Set app type symbols
	if(wizard.FindSymbol("WTL_APPTYPE_SDI"))
	{
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CFrameWindowImpl");
	}
	else if(wizard.FindSymbol("WTL_APPTYPE_MTSDI"))
	{
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CFrameWindowImpl");
	}
	else if(wizard.FindSymbol("WTL_APPTYPE_MDI"))
	{
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CMDIFrameWindowImpl");
		wizard.AddSymbol("WTL_CHILD_FRAME_BASE_CLASS","CMDIChildWindowImpl");
	}
	else if(wizard.FindSymbol("WTL_APPTYPE_DLG"))
	{
		wizard.AddSymbol("WTL_MAINDLG_CLASS","CMainDlg");
		if(wizard.FindSymbol("WTL_ENABLE_AX"))
			wizard.AddSymbol("WTL_MAINDLG_BASE_CLASS", "CAxDialogImpl");
		else
			wizard.AddSymbol("WTL_MAINDLG_BASE_CLASS", "CDialogImpl");
		
		if (!wizard.FindSymbol("WTL_APPTYPE_DLG_FRAME"))
		{
			wizard.AddSymbol("WTL_USE_TOOLBAR", false);
			wizard.AddSymbol("WTL_USE_REBAR", false);
			wizard.AddSymbol("WTL_USE_CMDBAR", false);
			wizard.AddSymbol("WTL_USE_STATUSBAR", false);
			wizard.AddSymbol("WTL_USE_VIEW", false);
		}
	}
	
	
	// Set view symbols
	if(wizard.FindSymbol("WTL_USE_VIEW"))
	{
		CString strViewFile = info.strProjectName + "View";
		wizard.AddSymbol("WTL_VIEW_FILE", strViewFile);
		
		CString strViewClass = "C" + wizard.FindSymbolVal("NICE_SAFE_PROJECT_NAME") + "View";
		wizard.AddSymbol("WTL_VIEW_CLASS", strViewClass);
		
		wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", false);
		wizard.AddSymbol("WTL_VIEW_BASE_CLASS","CWindowImpl");
		wizard.AddSymbol("WTL_VIEW_STYLES","WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN");
		wizard.AddSymbol("WTL_VIEW_EX_STYLES","WS_EX_CLIENTEDGE");

		switch(info.nViewType)
		{
		case 1:
			wizard.AddSymbol("WTL_VIEWTYPE_FORM", true);
			if(wizard.FindSymbol("WTL_ENABLE_AX") && wizard.FindSymbol("WTL_HOST_AX"))
				wizard.AddSymbol("WTL_VIEW_BASE_CLASS", "CAxDialogImpl");
			else
				wizard.AddSymbol("WTL_VIEW_BASE_CLASS", "CDialogImpl");
			break;
		case 2:
			wizard.AddSymbol("WTL_VIEWTYPE_LISTBOX", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CListBox");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | LBS_WANTKEYBOARDINPUT");
			break;
		case 3:
			wizard.AddSymbol("WTL_VIEWTYPE_EDIT", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CEdit");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL");
			break;
		case 4:
			wizard.AddSymbol("WTL_VIEWTYPE_LISTVIEW", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CListViewCtrl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_REPORT | LVS_SHOWSELALWAYS");
			break;
		case 5:
			wizard.AddSymbol("WTL_VIEWTYPE_TREEVIEW", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CTreeViewCtrl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS");
			break;
		case 6:
			wizard.AddSymbol("WTL_VIEWTYPE_RICHEDIT", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CRichEditCtrl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_SAVESEL");
			break;
		case 7:
			wizard.AddSymbol("WTL_VIEWTYPE_HTML", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CAxWindow");
			wizard.AddSymbol("WTL_ENABLE_AX", true);
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL");
			break;
		case 8:
			wizard.AddSymbol("WTL_VIEWTYPE_SCROLL", true);
			wizard.AddSymbol("WTL_VIEW_BASE_CLASS", "CScrollWindowImpl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL");
			break;
		default:
			wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", true);
			break;
		}
		
		if(wizard.FindSymbol("WTL_APPTYPE_TABVIEW"))
			wizard.AddSymbol("WTL_VIEW_EX_STYLES", "0");
	}


	CString strInfFile = info.templatePath + "\\Templates.inf";

	str_vector array;
	wizard.load_file_vector(strInfFile,array);

	CConfirmDlg dlg;
	dlg.m_projectPath = info.strProjectPath;
	
	CString t1,t2,t3;
	wizard.get_define_info(t1);
	wizard.get_output_info(t2);
	CString t4;
	for (str_vector::iterator it = array.begin(); it != array.end(); it++)
	{
		t4 = *it;
		t4.TrimLeft();
		t4.TrimRight();
		if (!t4.IsEmpty())
		{
			t3 += _T(".\\")+GetTargetName(t4,info.strProjectName);
			t3 += _T("\r\n");
		}
	}
	dlg.m_info = t1+_T("\r\n")+t2+_T("\r\n")+t3;

	if (dlg.DoModal() == IDOK)	
	{
		return AddFilesToProject(info.strProjectName,info.strProjectPath,array);
	}
	else
	{
		wizard.clear();
		return false;
	}
	return false;
}