📄 default.js
字号:
// Windows Template Library - WTL version 8.0
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// This file is a part of the Windows Template Library.
// The use and distribution terms for this software are covered by the
// Microsoft Permissive License (Ms-PL) which can be found in the file
// Ms-PL.txt at the root of this distribution.
var ProjWiz;
ProjWiz = new ActiveXObject("ProjWiz.SDProjWiz2.2");
function SetDCOMSymbols()
{
var checkedPlatforms = wizard.FindSymbol("CHECKED_PLATFORMS");
wizard.AddSymbol("SUPPORT_DCOM", false);
wizard.AddSymbol("SUPPORT_NON_DCOM", false);
for(var i = 0; i < checkedPlatforms.length; i++)
{
if(ProjWiz.GetBaseNativePlatformSupportsDCOM(checkedPlatforms[i]))
{
wizard.AddSymbol("SUPPORT_DCOM", true);
}
else
{
wizard.AddSymbol("SUPPORT_NON_DCOM", true);
}
}
}
function OnFinish(selProj, selObj)
{
try
{
var strProjectPath = wizard.FindSymbol('PROJECT_PATH');
var strProjectName = wizard.FindSymbol('PROJECT_NAME');
// Create symbols based on the project name
var strSafeProjectName = CreateSafeName(strProjectName);
wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);
wizard.AddSymbol("NICE_SAFE_PROJECT_NAME", strSafeProjectName.substr(0, 1).toUpperCase() + strSafeProjectName.substr(1))
wizard.AddSymbol("UPPERCASE_SAFE_PROJECT_NAME", strSafeProjectName.toUpperCase());
// Set current year symbol
var d = new Date();
var nYear = 0;
nYear = d.getFullYear();
if(nYear >= 2003)
wizard.AddSymbol("WTL_CURRENT_YEAR", nYear);
// Set APPID and LIBID symbols for COM servers
if(wizard.FindSymbol("WTL_COM_SERVER"))
{
var strGuid = wizard.CreateGuid();
var strVal = wizard.FormatGuid(strGuid, 0);
wizard.AddSymbol("WTL_APPID", strVal);
strGuid = wizard.CreateGuid();
strVal = wizard.FormatGuid(strGuid, 0);
wizard.AddSymbol("WTL_LIBID", strVal);
}
// 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_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");
wizard.AddSymbol("WTL_USE_TOOLBAR", false);
wizard.AddSymbol("WTL_USE_STATUSBAR", false);
wizard.AddSymbol("WTL_USE_VIEW", false);
}
// Set view symbols
if(wizard.FindSymbol("WTL_USE_VIEW"))
{
var strViewFile = strProjectName + "View";
wizard.AddSymbol("WTL_VIEW_FILE", strViewFile);
var strViewClass = "C" + wizard.FindSymbol("NICE_SAFE_PROJECT_NAME") + "View";
wizard.AddSymbol("WTL_VIEW_CLASS", strViewClass);
wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", false);
var strView = wizard.FindSymbol("WTL_COMBO_VIEW_TYPE");
switch(strView)
{
case "WTL_VIEWTYPE_FORM":
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 "WTL_VIEWTYPE_LISTBOX":
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 "WTL_VIEWTYPE_EDIT":
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 "WTL_VIEWTYPE_LISTVIEW":
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 "WTL_VIEWTYPE_TREEVIEW":
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 "WTL_VIEWTYPE_HTML":
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;
default:
wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", true);
break;
}
}
EnsureDevicePlatforms();
// these calls must occur before project creation, because they affect how the templates are generated.
SetDCOMSymbols();
SetDeviceSymbolsForPlatforms();
// Create project and configurations
selProj = CreateDeviceProject(strProjectName, strProjectPath);
AddConfigurations(selProj, strProjectName);
AddFilters(selProj);
var InfFile = CreateCustomInfFile();
AddFilesToCustomProj(selProj, strProjectName, strProjectPath, InfFile);
SetCommonPchSettings(selProj);
InfFile.Delete();
selProj.Object.Save();
if(wizard.FindSymbol("WTL_APPTYPE_DLG"))
{
var ResHelper = wizard.ResourceHelper;
ResHelper.OpenResourceFile(strProjectPath + "\\" + strProjectName + ".rc");
ResHelper.OpenResourceInEditor("DIALOG", "IDD_MAINDLG");
}
else if(wizard.FindSymbol("WTL_USE_VIEW") && wizard.FindSymbol("WTL_VIEWTYPE_FORM"))
{
var strDialogID = "IDD_" + wizard.FindSymbol("UPPERCASE_SAFE_PROJECT_NAME") + "_FORM";
var ResHelper = wizard.ResourceHelper;
ResHelper.OpenResourceFile(strProjectPath + "\\" + strProjectName + ".rc");
ResHelper.OpenResourceInEditor("DIALOG", strDialogID);
}
}
catch(e)
{
if(e.description.length != 0)
SetErrorInfo(e);
return e.number
}
}
function AddFilters(proj)
{
try
{
// Add the folders to your project
var strSrcFilter = wizard.FindSymbol('SOURCE_FILTER');
var group = proj.Object.AddFilter('Source Files');
group.Filter = strSrcFilter;
strSrcFilter = wizard.FindSymbol('INCLUDE_FILTER');
group = proj.Object.AddFilter('Header Files');
group.Filter = strSrcFilter;
strSrcFilter = wizard.FindSymbol('RESOURCE_FILTER');
group = proj.Object.AddFilter('Resource Files');
group.Filter = strSrcFilter;
}
catch(e)
{
throw e;
}
}
function AddConfigurations(proj, strProjectName)
{
try
{
var oConfigs = proj.Object.Configurations;
for(var nCntr = 1; nCntr <= oConfigs.Count; nCntr++)
{
var config = oConfigs(nCntr);
// Check if it's Debug configuration
var bDebug = false;
if(config.Name.indexOf("Debug") != -1)
bDebug = true;
// General settings
config.CharacterSet = charSetUnicode;
config.ATLMinimizesCRunTimeLibraryUsage = false;
if(bDebug)
{
config.IntermediateDirectory = "$(PlatformName)\\Debug";
config.OutputDirectory = "$(PlatformName)\\Debug";
}
else
{
config.IntermediateDirectory = "$(PlatformName)\\Release";
config.OutputDirectory = "$(PlatformName)\\Release";
}
if(wizard.FindSymbol("WTL_USE_VIEW") && wizard.FindSymbol("WTL_COMBO_VIEW_TYPE") == "WTL_VIEWTYPE_HTML")
config.UseOfATL = useATLDynamic;
// Instruction set
var instructionSet = "";
var sIndex = config.Name.indexOf("(");
var eIndex = config.Name.indexOf(")");
if((sIndex != -1) && (eIndex != -1))
{
instructionSet = config.Name.substr(sIndex + 1, eIndex - sIndex - 1);
}
// Compiler settings
var CLTool = config.Tools('VCCLCompilerTool');
CLTool.UsePrecompiledHeader = pchUseUsingSpecific;
CLTool.WarningLevel = warningLevel_3;
if(bDebug)
{
CLTool.RuntimeLibrary = rtMultiThreadedDebug;
CLTool.MinimalRebuild = true;
CLTool.DebugInformationFormat = debugEnabled;
CLTool.Optimization = optimizeDisabled;
}
else
{
CLTool.RuntimeLibrary = rtMultiThreaded;
CLTool.ExceptionHandling = false;
CLTool.DebugInformationFormat = debugDisabled;
}
var strDefines = GetPlatformDefine(config);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -