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

📄 mainfrm.cpp

📁 用bcg库编写的java IDE 源码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "VisualJava.h"
#include "MainFrm.h"
#include "FileOpenDlgEx.h"
#include "NewFolderDlg.h"

#include "editcmd.h"
#include "registry.h"
#include "editreg.h"
#include "filesup.h"
#include "wm.h"


#include "WorkSpace.h"
#include "ToolRunner.h"

#include "UndoRedoDlg.h"

#include "SAPrefsDialog.h"
#include "FileViewTree.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

// Registered window message posted when user changes text in edit box
const UINT    wm_MsgInform = RegisterWindowMessage("CC667211-7dE9-40c5-809A-cDA48E401414");

const UINT BGFSOFT_MSG_DROPDOWN = ::RegisterWindowMessage(_T("21F298B6-E144-4ac6-AEA2-AFBA0FC91401"));

/////////////////////////////////////////////////////////////////////////////
// CMainFrame
//CList<CMainDockBar*,CMainDockBar*> CMainFrame::m_DockingWindows;

IMPLEMENT_DYNAMIC(CMainFrame, CBaseFrameWnd)

#define CONTROL_BARS	_T("Control Bars");
const int iMaxUserToolbars = 10;
const UINT uiFirstUserToolBarId	= AFX_IDW_CONTROLBAR_FIRST + 40;
const UINT uiLastUserToolBarId	= uiFirstUserToolBarId + iMaxUserToolbars - 1;

const UINT id_uiwizBarId		= uiFirstUserToolBarId;
const UINT id_uiBuildbar        = uiFirstUserToolBarId+1;

const UINT CTRL_BAR_WORKDPACE   = uiFirstUserToolBarId+2;
const UINT CTRL_BAR_OUTPUT      = uiFirstUserToolBarId+3;

BEGIN_MESSAGE_MAP(CMainFrame, CBaseFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)

	//}}AFX_MSG_MAP
    
	ON_COMMAND(ID_SDK_SYSTEM, OnSdkSystem)
	ON_UPDATE_COMMAND_UI(ID_SDK_SYSTEM, OnUpdateSdkSystem)

	ON_COMMAND(ID_BUILD_START_DEBUG_GO, OnBuildStartDebugGo)
	ON_UPDATE_COMMAND_UI(ID_BUILD_START_DEBUG_GO, OnUpdateBuildStartDebugGo)
	ON_WM_INITMENUPOPUP()
    ON_REGISTERED_MESSAGE(BGFSOFT_MSG_DROPDOWN,OnDropDown)

    ON_REGISTERED_MESSAGE(wm_MsgInform, OnBroadCastMsg)

	ON_WM_CREATE()
	ON_WM_CLOSE()
	ON_COMMAND(ID_GO, OnGo)
	ON_UPDATE_COMMAND_UI(ID_GO, OnUpdateGo)
	ON_COMMAND(ID_RUN, OnRun)
	ON_UPDATE_COMMAND_UI(ID_RUN, OnUpdateRun)
	ON_COMMAND(ID_STOPBUILD, OnStopBuild)
	ON_UPDATE_COMMAND_UI(ID_STOPBUILD, OnUpdateStopBuild)
	ON_COMMAND(ID_BUILD, OnBuild)
	ON_UPDATE_COMMAND_UI(ID_BUILD, OnUpdateBuild)
	ON_WM_MDIACTIVATE()
	ON_COMMAND(ID_SEARCH, OnSearch)
	ON_UPDATE_COMMAND_UI(ID_SEARCH, OnUpdateSearch)
	ON_COMMAND(ID_WINDOW_LIST, OnWindowList)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_LIST, OnUpdateWindowList)
	ON_COMMAND(ID_FIND_IN_FILE, OnFindInFile)
	ON_UPDATE_COMMAND_UI(ID_FIND_IN_FILE, OnUpdateFindInFile)
	ON_COMMAND(ID_WIZARDBAR_MENU, OnWizBarMenu)
	ON_UPDATE_COMMAND_UI(ID_WIZARDBAR_MENU, OnUpdateWizBarMenu)
	ON_COMMAND(ID_VIEW_OUTPUT, OnViewOutput)
	ON_UPDATE_COMMAND_UI(ID_VIEW_OUTPUT, OnUpdateViewOutput)
	ON_COMMAND(ID_VIEW_WORKSPACE, OnViewWorkspace)
	ON_UPDATE_COMMAND_UI(ID_VIEW_WORKSPACE, OnUpdateViewWorkspace)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_PREVIOUS, OnUpdateWindowPrevious)
	ON_COMMAND(ID_WINDOW_NEXT, OnWindowNext)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_NEXT, OnUpdateWindowNext)
	ON_COMMAND(ID_WINDOW_FILES, OnWindowFiles)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_FILES, OnUpdateWindowFiles)
	ON_COMMAND(ID_WINDOW_DOCKING_VIEW, OnWindowDockingView)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_DOCKING_VIEW, OnUpdateWindowDockingView)
	ON_COMMAND(ID_WINDOW_CLOSE_ALL, OnWindowCloseAll)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_CLOSE_ALL, OnUpdateWindowCloseAll)
	ON_COMMAND(ID_WINDOW_CLOSE, OnWindowClose)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_CLOSE, OnUpdateWindowClose)
	ON_COMMAND(ID_WINDOW_CASCADE, OnWindowCascade)
	ON_UPDATE_COMMAND_UI(ID_WINDOW_CASCADE, OnUpdateWindowCascade)
	ON_COMMAND(ID_VIEW_REFRESH, OnViewRefresh)
	ON_UPDATE_COMMAND_UI(ID_VIEW_REFRESH, OnUpdateViewRefresh)
	ON_COMMAND(ID_VIEW_PROPERTIES, OnViewProperties)
	ON_UPDATE_COMMAND_UI(ID_VIEW_PROPERTIES, OnUpdateViewProperties)
	ON_COMMAND(ID_VIEW_FULLSCREEN, OnViewFullscreen)
	ON_UPDATE_COMMAND_UI(ID_VIEW_FULLSCREEN, OnUpdateViewFullscreen)
	ON_COMMAND(ID_EDIT_FIND_IN_FILES, OnEditFindInFile)
	ON_UPDATE_COMMAND_UI(ID_EDIT_FIND_IN_FILES, OnUpdateEditFindInFile)
	ON_COMMAND(ID_FILE_SAVE_ALL, OnFileSaveAll)
	ON_UPDATE_COMMAND_UI(ID_FILE_SAVE_ALL, OnUpdateFileSaveAll)
	ON_UPDATE_COMMAND_UI(ID_CLASS_BROWSER, OnUpdateWizBarClass)
	ON_UPDATE_COMMAND_UI(ID_FUNCTION_BROWSER, OnUpdateWizBarFunct)
	ON_COMMAND(ID_FILE_OPENWORKSPACE, OnFileOpenworkspace)
	ON_UPDATE_COMMAND_UI(ID_FILE_OPENWORKSPACE, OnUpdateFileOpenworkspace)
	ON_COMMAND(ID_FILE_SAVEWORKSPACE, OnFileSaveworkspace)
	ON_UPDATE_COMMAND_UI(ID_FILE_SAVEWORKSPACE, OnUpdateFileSaveworkspace)
	ON_COMMAND(ID_FILE_CLOSEWORKSPACE, OnFileCloseworkspace)
	ON_UPDATE_COMMAND_UI(ID_FILE_CLOSEWORKSPACE, OnUpdateFileCloseworkspace)
	ON_COMMAND(ID_EDIT_GOTO, OnEditGoto)
	ON_UPDATE_COMMAND_UI(ID_EDIT_GOTO, OnUpdateEditGoto)
	ON_COMMAND(ID_WORKSPC_ADD_NEW_PROJECT, OnWorkspcAddNewProject)
	ON_UPDATE_COMMAND_UI(ID_WORKSPC_ADD_NEW_PROJECT, OnUpdateWorkspcAddNewProject)
	ON_COMMAND(ID_WORKSPC_DOCKING_VIEW, OnWorkspcDockingView)
	ON_UPDATE_COMMAND_UI(ID_WORKSPC_DOCKING_VIEW, OnUpdateWorkspcDockingView)
	ON_COMMAND(ID_WORKSPC_HIDE, OnWorkspcHide)
	ON_UPDATE_COMMAND_UI(ID_WORKSPC_HIDE, OnUpdateWorkspcHide)
	ON_COMMAND(ID_WORKSPC_INSERT_PROJ_INTO, OnWorkspcInsertProjInto)
	ON_UPDATE_COMMAND_UI(ID_WORKSPC_INSERT_PROJ_INTO, OnUpdateWorkspcInsertProjInto)
	ON_COMMAND(ID_WORKSPC_PROP, OnWorkspcProp)
	ON_UPDATE_COMMAND_UI(ID_WORKSPC_PROP, OnUpdateWorkspcProp)
	ON_COMMAND(ID_PROJECT_BUILD, OnProjectBuild)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_BUILD, OnUpdateProjectBuild)
	ON_COMMAND(ID_PROJECT_BUILD_SEL, OnProjectBuildSel)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_BUILD_SEL, OnUpdateProjectBuildSel)
	ON_COMMAND(ID_PROJECT_CLEAN, OnProjectClean)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_CLEAN, OnUpdateProjectClean)
	ON_COMMAND(ID_PROJECT_DEPENDENCIES, OnProjectDependencies)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_DEPENDENCIES, OnUpdateProjectDependencies)
	ON_COMMAND(ID_PROJECT_DOCKING_VIEW, OnProjectDockingView)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_DOCKING_VIEW, OnUpdateProjectDockingView)
	ON_COMMAND(ID_PROJECT_EXPORT_MAKEFILE, OnProjectExportMakefile)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_EXPORT_MAKEFILE, OnUpdateProjectExportMakefile)
	ON_COMMAND(ID_PROJECT_HIDE, OnProjectHide)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_HIDE, OnUpdateProjectHide)
	ON_COMMAND(ID_PROJECT_INSERT_PROJECT_INTO_WORKSPACE, OnProjectInsertProjectIntoWorkspace)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_INSERT_PROJECT_INTO_WORKSPACE, OnUpdateProjectInsertProjectIntoWorkspace)
	ON_COMMAND(ID_PROJECT_NEW_FOLDER, OnProjectNewFolder)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_NEW_FOLDER, OnUpdateProjectNewFolder)
	ON_COMMAND(ID_PROJECT_PROP, OnProjectProp)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_PROP, OnUpdateProjectProp)
	ON_COMMAND(ID_PROJECT_SET_AS_ACTIVE, OnProjectSetAsActive)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_SET_AS_ACTIVE, OnUpdateProjectSetAsActive)
	ON_COMMAND(ID_PROJECT_SETTINGS, OnProjectSettings)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_SETTINGS, OnUpdateProjectSettings)
	ON_COMMAND(ID_PROJECT_UNLOAD, OnProjectUnload)
	ON_UPDATE_COMMAND_UI(ID_PROJECT_UNLOAD, OnUpdateProjectUnload)
	ON_COMMAND(ID_FOLDER_NEW, OnFolderNew)
	ON_UPDATE_COMMAND_UI(ID_FOLDER_NEW, OnUpdateFolderNew)
	ON_COMMAND(ID_FOLDER_HIDE, OnFolderHide)
	ON_UPDATE_COMMAND_UI(ID_FOLDER_HIDE, OnUpdateFolderHide)
	ON_COMMAND(ID_FOLDER_DOCKING_VIEW, OnFolderDockingView)
	ON_UPDATE_COMMAND_UI(ID_FOLDER_DOCKING_VIEW, OnUpdateFolderDockingView)
	ON_COMMAND(ID_FOLDER_ADD_FILES, OnFolderAddFiles)
	ON_UPDATE_COMMAND_UI(ID_FOLDER_ADD_FILES, OnUpdateFolderAddFiles)
	ON_COMMAND(ID_FOLDER_PROP, OnFolderProp)
	ON_UPDATE_COMMAND_UI(ID_FOLDER_PROP, OnUpdateFolderProp)
	ON_COMMAND(ID_FOLDER_SETTINGS, OnFolderSettings)
	ON_UPDATE_COMMAND_UI(ID_FOLDER_SETTINGS, OnUpdateFolderSettings)
	ON_COMMAND(ID_FILE_OPENEX, OnFileOpenex)
	ON_UPDATE_COMMAND_UI(ID_FILE_OPENEX, OnUpdateFileOpenex)
	ON_COMMAND(ID_FILE_PROP, OnFileProp)
	ON_UPDATE_COMMAND_UI(ID_FILE_PROP, OnUpdateFileProp)
	ON_COMMAND(ID_FILE_SETTINGS, OnFileSettings)
	ON_UPDATE_COMMAND_UI(ID_FILE_SETTINGS, OnUpdateFileSettings)
	ON_COMMAND(ID_TOOL_OPTIONS, OnToolOptions)
	ON_WM_LBUTTONDOWN()
	ON_COMMAND(ID_WIZBAR_MENU,OnWizBarMenu)
	ON_UPDATE_COMMAND_UI(ID_WIZBAR_MENU,OnUpdateWizBarMenu)
	ON_COMMAND(ID_FILE_OPENWORKSPACE, OnFileOpenworkspace)
	ON_UPDATE_COMMAND_UI(ID_FILE_OPENWORKSPACE, OnUpdateFileOpenworkspace)
	ON_WM_SETFOCUS()


	//ON_CBN_SELCHANGE(ID_CLASS_BROWSER, OnSelchangeClass)
	//ON_CBN_SELCHANGE(ID_FUNCTION_BROWSER, OnSelchangeFunction)
	/*
	ON_COMMAND(ID_VIEW_CUSTOMIZE, OnViewCustomize)
	ON_REGISTERED_MESSAGE(BCGM_RESETTOOLBAR, OnToolbarReset)
	ON_REGISTERED_MESSAGE(BCGM_TOOLBARMENU, OnToolbarContextMenu)
	ON_REGISTERED_MESSAGE(BCGM_CUSTOMIZEHELP, OnHelpCustomizeToolbars)
	*/
END_MESSAGE_MAP()





static UINT indicators[] =
{
  ID_SEPARATOR,            // status line indicator
  //ID_EDIT_INDICATOR_POSITION,
  //ID_EDIT_INDICATOR_COL,
  //ID_INDICATOR_OVR,
  //ID_EDIT_INDICATOR_READ,
  //ID_EDIT_INDICATOR_CRLF,
  ID_INDICATOR_CAPS,
  ID_INDICATOR_NUM,
  ID_INDICATOR_SCRL,
  ID_INDICATOR_TIME
};

static UINT indicators1[] =
{
    ID_SEPARATOR,            // status line indicator
    ID_EDIT_INDICATOR_POSITION,
    ID_INDICATOR_OVR,
    ID_EDIT_INDICATOR_READ,
    ID_EDIT_INDICATOR_CRLF,
    ID_INDICATOR_CAPS,
    ID_INDICATOR_NUM,
    ID_INDICATOR_SCRL,
    ID_INDICATOR_TIME
};



static CBCGToolbarComboBoxButton *pClassWz = NULL;
static CBCGToolbarComboBoxButton *pFuncWz  = NULL;

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{

}

CMainFrame::~CMainFrame()
{
  m_ilCCimages.DeleteImageList();
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CBaseFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

    CCustomizableComboBox::m_pComboBoxRuntimeClass = RUNTIME_CLASS(CWizBarComboBox);

	//--------------------------
	// Load toolbar user images:
	//--------------------------
	
	if (!m_BarImages.Load (IDB_USERIMGS))
	{
		MessageBox ("Can't find 'IDB_COMPILEBAR' file");

		TRACE0("Failed to load user images\n");
		return -1;      // fail to create
	}

	CBCGToolBar::SetUserImages (&m_BarImages);

     
	CBCGToolBar::EnableQuickCustomization ();

	if (!m_wndMenuBar.Create (this))
	{
		TRACE0("Failed to create menubar\n");
		return -1;      // fail to create
	}

	m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() | CBRS_SIZE_DYNAMIC);

	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("Failed to create toolbar\n");
		return -1;      // fail to create
	}


	//CString strMainToolbarTitle;
	//strMainToolbarTitle.LoadString (IDS_MAIN_TOOLBAR);
	//m_wndToolBar.SetWindowText (strMainToolbarTitle);



	m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC|CBRS_BORDER_LEFT|CBRS_GRIPPER);

    int index = m_wndToolBar.CommandToIndex(ID_SEP);
	m_wndToolBar.RemoveButton(index);
	m_wndToolBar.InsertSeparator(1);
    index = m_wndToolBar.CommandToIndex(ID_SEP1);
	m_wndToolBar.RemoveButton(index);
	m_wndToolBar.InsertSeparator(5);
    index = m_wndToolBar.CommandToIndex(ID_SEP2);
	m_wndToolBar.RemoveButton(index);
	m_wndToolBar.InsertSeparator(9);
    index = m_wndToolBar.CommandToIndex(ID_SEP3);
	m_wndToolBar.RemoveButton(index);
	m_wndToolBar.InsertSeparator(12);
    index = m_wndToolBar.CommandToIndex(ID_SEP4);
	m_wndToolBar.RemoveButton(index);
	m_wndToolBar.InsertSeparator(16);

	index = m_wndToolBar.CommandToIndex(ID_COMBO_FIND);
	m_wndToolBar.RemoveButton(index);
	//insert find in file combobox
	m_wndToolBar.InsertButton(CBCGToolbarComboBoxButton(ID_COMBO_FIND,-1,CBS_DROPDOWN|CBS_SORT),18);

    index = m_wndToolBar.CommandToIndex(ID_SEP5);
	m_wndToolBar.RemoveButton(index);
	m_wndToolBar.InsertSeparator(19);
    m_wndToolBar.SetWindowText("Standard");


	
	m_wndUndoRedo.m_pMainFrame = this;
	m_wndUndoRedo.Create(IDD_UNDO_REDO,this);

    index = m_wndToolBar.CommandToIndex(ID_EDIT_UNDO);
	int iImage = m_wndToolBar.GetDefaultImage(ID_EDIT_UNDO);	
	m_wndToolBar.RemoveButton(index);
    m_wndToolBar.InsertButton(CBCGToolbarMenuButton
    (ID_EDIT_UNDO,&m_wndUndoRedo,iImage),index);

    index = m_wndToolBar.CommandToIndex(ID_EDIT_REDO);
	iImage = m_wndToolBar.GetDefaultImage(ID_EDIT_REDO);
	m_wndToolBar.RemoveButton(index);
    m_wndToolBar.InsertButton(CBCGToolbarMenuButton
    (ID_EDIT_REDO,&m_wndUndoRedo,iImage),index);



	
	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}
    m_bActivated = FALSE;
	

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



    /************************************************************
	 *    compile bar                                           *
	 ************************************************************/


    if (!m_wndBuildBar.Create(this, 
		WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_HIDE_INPLACE, 
	id_uiBuildbar))
	{
		TRACE0("Failed to create user toolbar\n");
		return -1;      // fail to create
	}
    m_wndBuildBar.SetWindowText("Build MiniBar");
    m_wndBuildBar.SetBarStyle(m_wndBuildBar.GetBarStyle()|
    CBRS_TOOLTIPS | CBRS_FLYBY |CBRS_BORDER_LEFT|CBRS_GRIPPER| CBRS_SIZE_DYNAMIC);


    m_wndBuildBar.InsertButton(CBCGToolbarButton(ID_BUILD,0,"",TRUE));
	m_wndBuildBar.InsertButton(CBCGToolbarButton(ID_STOPBUILD,2,"",TRUE));


	CMenu menu;
	menu.LoadMenu(IDR_JAVASDK_TOOL_MENU);
    CMenu* pPopupMenu = menu.GetSubMenu (0);
    VERIFY(pPopupMenu != NULL);

	m_wndBuildBar.InsertButton(CBCGToolbarMenuButton
		        (ID_RUN,pPopupMenu->Detach(),3,"",TRUE/*,TRUE*/));
	menu.Detach();

	m_wndBuildBar.InsertButton(CBCGToolbarButton(ID_GO,4,"",TRUE));
	m_wndBuildBar.InsertButton(CBCGToolbarButton(ID_INSERT_BREAKPOINT,5,"",TRUE));

    m_wndBuildBar.EnableDocking(CBRS_ALIGN_ANY);
    EnableDocking(CBRS_ALIGN_ANY);
    DockControlBar(&m_wndBuildBar);

    /************************************************************
	 *    browsing bars                                         *
	 ************************************************************/

   
   //create class and function browser
   if (!m_wndWizardBar.Create(this, 
		WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_HIDE_INPLACE, 
		id_uiwizBarId))
	{
		TRACE0("Failed to create user toolbar\n");
		return -1;      // fail to create
	}
   m_wndWizardBar.SetWindowText("WizardBar");

   


   m_wndWizardBar.InsertButton(CBCGToolbarComboBoxButton(ID_CLASS_BROWSER,-1,
            CBS_DROPDOWN/*|CBS_SORT| CBS_HASSTRINGS | CBS_OWNERDRAWFIXED*/));

   m_wndWizardBar.InsertButton(CBCGToolbarComboBoxButton(ID_FUNCTION_BROWSER,-1,
            CBS_DROPDOWNLIST|CBS_SORT| CBS_HASSTRINGS | CBS_OWNERDRAWFIXED));
   
   pClassWz = (CBCGToolbarComboBoxButton*)m_wndWizardBar.GetButton(0);
   pFuncWz  = (CBCGToolbarComboBoxButton*)m_wndWizardBar.GetButton(1);
   CWorkSpaceBar::m_pwndWizbarClass  = (CWizBarComboBox*)pClassWz->GetComboBox();
   CWorkSpaceBar::m_pwndWizbarMethod = (CWizBarComboBox*)pFuncWz->GetComboBox();
   

   m_wizbarImg.Create(IDB_WIZBMP,16,1,RGB(255,0,0));

   CWizBarComboBox* pMethodComboBox = (CWizBarComboBox*)pFuncWz->GetComboBox();
   pMethodComboBox->SetImageList(&m_wizbarImg);

   menu;
   menu.LoadMenu(IDR_WIZBAR_ACTIVE);
   pPopupMenu = menu.GetSubMenu (0);
   VERIFY (pPopupMenu != NULL);
   m_wndWizardBar.InsertButton(CBCGToolbarMenuButton
  (ID_WIZBAR_MENU,pPopupMenu->Detach(),6, "", TRUE));


   m_wndWizardBar.EnableDocking(CBRS_ALIGN_ANY);
   EnableDocking(CBRS_ALIGN_ANY);
   DockControlBar(&m_wndWizardBar);

  
  {
    CRect rect (40, 40, 330, 440);
    m_wndWorkspaceBar.CreateBar (_T ("Workspace"), rect, /*SCBS_FULLDRAG|*/SCBS_GRIPPER|SCBS_SHOWEDGES, 
		                                       ABS_DOCKLEFT|ABS_VISIBLE, CTRL_BAR_WORKDPACE, this);
    m_wndWorkspaceBar.SetBarStyle (m_wndWorkspaceBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
  }
   
  {
    CRect rect (40, 40, 440, 190);
    m_wndOutputBar.CreateBar (_T ("Output"), rect, /*SCBS_FULLDRAG|*/SCBS_GRIPPER|
		SCBS_SHOWEDGES, ABS_DOCKBOTTOM|ABS_VISIBLE, CTRL_BAR_OUTPUT, this);
    m_wndOutputBar.SetBarStyle (m_wndOutputBar.GetBarStyle() | CBRS_TOOLTIPS |
		CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
  }
  

  ////////////////////////////Code Completion ListCtrl///////////////////////////////
  #define ID_CCLISTCTRL 0x70697070

  CRect rcRect(0,0,100,100);
  //WS_CHILD|LVS_ICON|LVS_SINGLESEL|LVS_SHOWSELALWAYS|LVS_AUTOARRANGE|LVS_ALIGNTOP
  const DWORD dwStyle = WS_BORDER|WS_VSCROLL|WS_CHILD|LBS_HASSTRINGS|LBS_OWNERDRAWVARIABLE;

  m_wndCodeCompletionList.Create(dwStyle,rcRect,this,ID_CCLISTCTRL);

  m_ilCCimages.Create(16,16,ILC_COLOR24|ILC_MASK,7,2);
  CBitmap bm;
  bm.LoadBitmap(IDB_CLASSIMG);
  m_ilCCimages.Add(&bm,RGB(255,0,0));

  m_wndCodeCompletionList.SetImageList(&m_ilCCimages);

⌨️ 快捷键说明

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