コード例 #1
0
BOOL CImageWindow::Create(CDialog *pwndParent, UINT nFrameControlID)
{
	ASSERT(pwndParent);
	CRect rectDummy(0, 0, 0, 0);
	if(nFrameControlID > 0)
	{
		pwndParent->GetDlgItem(nFrameControlID)->GetWindowRect(&rectDummy);
		pwndParent->ScreenToClient(rectDummy);
	}
	else
	{
		pwndParent->GetClientRect(&rectDummy);
	}

	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	CWnd tmpWnd;
	tmpWnd.Attach(pwndParent->GetSafeHwnd());

	if(!CWnd::Create(NULL, NULL, WS_VISIBLE, rectDummy, pwndParent, 0, NULL))
	{
		tmpWnd.Detach();
		return FALSE;
	}

	tmpWnd.Detach();

	return TRUE;
}
コード例 #2
0
ファイル: UndoBar.cpp プロジェクト: jetlive/skiaming
int CUndoBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CMFCPopupMenuBar::OnCreate(lpCreateStruct) == -1)
		return -1;

	CFont* pMenuFont = (CFont*) &CMFCMenuBar::GetMenuFont();

	// Set label height:
	CClientDC dc(this);
	CFont* pOldFont = dc.SelectObject(pMenuFont);

	TEXTMETRIC tm;
	dc.GetTextMetrics(&tm);

	m_nLabelHeight = tm.tmHeight + 2;

	dc.SelectObject(pOldFont);

	CRect rectDummy(0, 0, 0, 0);
	m_wndList.Create(WS_VISIBLE | WS_CHILD | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | WS_VSCROLL | LBS_MULTIPLESEL, rectDummy, this, ID_LIST);
	m_wndList.ModifyStyleEx(0, WS_EX_CLIENTEDGE);

	m_wndList.SetFont(pMenuFont);

	CUndoButton* pUndoButton = GetParentButton();
	ASSERT_VALID(pUndoButton);

	for (POSITION pos = pUndoButton->m_lstActions.GetHeadPosition(); pos != NULL;)
	{
		m_wndList.AddString(pUndoButton->m_lstActions.GetNext(pos));
	}

	return 0;
}
コード例 #3
0
ファイル: MainFrm.cpp プロジェクト: geforce42376/easyprofiler
BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, int nInitialWidth)
{
	CWindowDC dc(NULL);

	bar.SetMode2003();

	BOOL bNameValid;
	CString strTemp;
	bNameValid = strTemp.LoadString(IDS_SHORTCUTS);
	ASSERT(bNameValid);
	if (!bar.Create(strTemp, this, CRect(0, 0, nInitialWidth, 32000), uiID, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
	{
		return FALSE; // fail to create
	}

	CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*)bar.GetUnderlyingWindow();

	if (pOutlookBar == NULL)
	{
		ASSERT(FALSE);
		return FALSE;
	}

	pOutlookBar->EnableInPlaceEdit(TRUE);

	static UINT uiPageID = 1;

	DWORD dwPaneStyle = AFX_DEFAULT_TOOLBAR_STYLE | CBRS_FLOAT_MULTI;

	// can float, can autohide, can resize, CAN NOT CLOSE
	DWORD dwStyle = AFX_CBRS_FLOAT | AFX_CBRS_AUTOHIDE | AFX_CBRS_RESIZE;

	CRect rectDummy(0, 0, 0, 0);

	m_TreeBar.Create(NULL,NULL,WS_VISIBLE|WS_CHILD,rectDummy,&bar,1200);
	bNameValid = strTemp.LoadString(IDS_FOLDERS);
	ASSERT(bNameValid);
	pOutlookBar->AddControl(&m_TreeBar, _T("Test data"), 0, TRUE, dwStyle);

	m_selectionPane.Create(NULL,NULL,WS_VISIBLE|WS_CHILD,rectDummy, &bar, 1201);
	pOutlookBar->AddControl(&m_selectionPane, _T("Compare target"), 1, TRUE, dwStyle);



	bar.SetPaneStyle(bar.GetPaneStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

	pOutlookBar->SetImageList(theApp.m_bHiColorIcons ? IDB_PAGES_HC : IDB_PAGES, 24);
	pOutlookBar->SetToolbarImageList(theApp.m_bHiColorIcons ? IDB_PAGES_SMALL_HC : IDB_PAGES_SMALL, 16);
	pOutlookBar->RecalcLayout();

	BOOL bAnimation = theApp.GetInt(_T("OutlookAnimation"), TRUE);
	CMFCOutlookBarTabCtrl::EnableAnimation(bAnimation);

	bar.SetButtonsFont(&afxGlobalData.fontBold);

	return TRUE;
}
コード例 #4
0
ファイル: FolderListBar.cpp プロジェクト: Ireneph/samples
int CFolderListBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CDockablePane::OnCreate(lpCreateStruct) == -1)
		return -1;

	CRect rectDummy(0, 0, 0, 0);
	m_wndFolders.Create(0, rectDummy, this, idTree);

	return 0;
}
コード例 #5
0
BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, CMFCShellTreeCtrl& tree, CCalendarBar& calendar, int nInitialWidth)
{
    bar.SetMode2003();

    BOOL bNameValid;
    CString strTemp;
    bNameValid = strTemp.LoadString(IDS_SHORTCUTS);
    ASSERT(bNameValid);
    if (!bar.Create(strTemp, this, CRect(0, 0, nInitialWidth, 32000), uiID, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
    {
        return FALSE; // 만들지 못했습니다.
    }

    CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*)bar.GetUnderlyingWindow();

    if (pOutlookBar == NULL)
    {
        ASSERT(FALSE);
        return FALSE;
    }

    pOutlookBar->EnableInPlaceEdit(TRUE);

    static UINT uiPageID = 1;

    // 움직이거나, 자동으로 숨기거나, 크기를 조정할 수 있지만 닫을 수는 없습니다.
    DWORD dwStyle = AFX_CBRS_FLOAT | AFX_CBRS_AUTOHIDE | AFX_CBRS_RESIZE;

    CRect rectDummy(0, 0, 0, 0);
    const DWORD dwTreeStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS;

    tree.Create(dwTreeStyle, rectDummy, &bar, 1200);
    bNameValid = strTemp.LoadString(IDS_FOLDERS);
    ASSERT(bNameValid);
    pOutlookBar->AddControl(&tree, strTemp, 2, TRUE, dwStyle);

    calendar.Create(rectDummy, &bar, 1201);
    bNameValid = strTemp.LoadString(IDS_CALENDAR);
    ASSERT(bNameValid);
    pOutlookBar->AddControl(&calendar, strTemp, 3, TRUE, dwStyle);

    bar.SetPaneStyle(bar.GetPaneStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

    pOutlookBar->SetImageList(theApp.m_bHiColorIcons ? IDB_PAGES_HC : IDB_PAGES, 24);
    pOutlookBar->SetToolbarImageList(theApp.m_bHiColorIcons ? IDB_PAGES_SMALL_HC : IDB_PAGES_SMALL, 16);
    pOutlookBar->RecalcLayout();

    BOOL bAnimation = theApp.GetInt(_T("OutlookAnimation"), TRUE);
    CMFCOutlookBarTabCtrl::EnableAnimation(bAnimation);

    bar.SetButtonsFont(&afxGlobalData.fontBold);

    return TRUE;
}
コード例 #6
0
bool  CShellTreeList::createMEdUI(HWND hMainWnd)
{
	CWnd* pWnd = CWnd::FromHandle(hMainWnd);
	
	m_hICON = LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_SHELLTREE));

	CRect rectDummy(0, 0, 0, 0);
	const DWORD dwTreeStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS;

	m_wndTree.Create(dwTreeStyle, rectDummy, pWnd, 1200);
    return true;
}
コード例 #7
0
ファイル: mainfrm.cpp プロジェクト: jetlive/skiaming
BOOL CMainFrame::CreateTaskPane ()
{
	CRect rectDummy(0, 0, 200, 400);
	if (!m_wndTaskPane.Create(_T("Tasks Pane"), this, rectDummy, TRUE, ID_VIEW_TASK_PANE,
		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_RIGHT | AFX_CBRS_CLOSE | AFX_CBRS_FLOAT))
	{
		TRACE0("Failed to create task pane\n");
		return FALSE;      // fail to create
	}

	m_wndTaskPane.EnableDocking (CBRS_ALIGN_RIGHT | CBRS_ALIGN_LEFT);
	DockPane(&m_wndTaskPane);

	return TRUE;
}
コード例 #8
0
int CCalendarBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	CRect rectDummy(0, 0, 0, 0);
	m_wndCalendar.Create(WS_CHILD | WS_VISIBLE, rectDummy, this, 1);

	CBitmap bmp;
	bmp.LoadBitmap(IDB_PAGES_SMALL_HC);

	m_Images.Create(16, 16, ILC_COLOR24 | ILC_MASK, 0, 0);
	m_Images.Add(&bmp, RGB(255, 0, 255));

	return 0;
}
コード例 #9
0
ファイル: MainFrm.cpp プロジェクト: layerfsd/PersonalIBA
BOOL CMainFrame::CreateTaskPane()
{
	CIBAString strTmp;
	strTmp.LoadString(IDS_STANDARD);

	CRect Rect;
	GetClientRect(Rect);

	CRect rectDummy(0, 0, 200, Rect.bottom);
	if (!m_wndTaskPane.Create(strTmp, this, rectDummy, FALSE, 104,
		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT,CBRS_BCGP_REGULAR_TABS, CBRS_BCGP_RESIZE))
	{
		TRACE0("Failed to create task pane\n");
		return FALSE;      // fail to create
	}

	m_wndTaskPane.EnableDocking(CBRS_ALIGN_LEFT);
	DockControlBar(&m_wndTaskPane);

	return TRUE;
}
コード例 #10
0
ファイル: TaskPane.cpp プロジェクト: layerfsd/PersonalIBA
BOOL CIBATaskPane::CreateEditControl()
{
	CRect rectDummy(0, 0, 0, 0);
	DWORD dwEditStyle = WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL;

	if (!m_wndEdit.Create(dwEditStyle, rectDummy, this, (UINT)-1))
	{
		TRACE0("Failed to create the edit window\n");
		return FALSE;
	}

	//m_wndEdit.ModifyStyleEx(0, WS_EX_CLIENTEDGE);
	m_wndEdit.SetFont(GetFont());
	
	CString strMsg;

	if (CIBAHelpper::ReadFile(m_strQucikNoteFile, strMsg))
	{
		m_wndEdit.SetWindowText(strMsg);
	}

	// 创建网吧公告
	CRect rectNotice(0, 0, 0, 0);
	DWORD dwEditNoticeStyle = WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_WANTRETURN | WS_VSCROLL;

	if (!m_wndEditNetbarNotice.Create(dwEditNoticeStyle, rectNotice, this, EDITIDOF_NETBAR_NOTICE))
	{
		TRACE0("Failed to create the Notice edit window\n");
		return FALSE;
	}

	//m_wndEdit.ModifyStyleEx(0, WS_EX_CLIENTEDGE);
	m_wndEditNetbarNotice.SetFont(GetFont());
	
	return TRUE;
}
コード例 #11
0
ファイル: MainFrm.cpp プロジェクト: kooiot/rdc
BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, int nInitialWidth)
{
	bar.SetMode2003();

	BOOL bNameValid;
	CString strTemp;
	bNameValid = strTemp.LoadString(IDS_SHORTCUTS);
	ASSERT(bNameValid);
	if (!bar.Create(strTemp, this, CRect(0, 0, nInitialWidth, 32000), uiID, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
	{
		return FALSE; // 未能创建
	}

	CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*)bar.GetUnderlyingWindow();

	if (pOutlookBar == NULL)
	{
		ASSERT(FALSE);
		return FALSE;
	}

	pOutlookBar->EnableInPlaceEdit(TRUE);

	static UINT uiPageID = 1;

	// 可浮动,可自动隐藏,可调整大小,但不能关闭
	DWORD dwStyle = AFX_CBRS_AUTOHIDE | AFX_CBRS_RESIZE;

	CRect rectDummy(0, 0, 0, 0);
	const DWORD dwTreeStyle = WS_CHILD | WS_VISIBLE | TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS;
	m_wndOnlineTree.Create(dwTreeStyle, rectDummy, &bar, 1200);
	m_wndOfflineTree.Create(dwTreeStyle, rectDummy, &bar, 1200);
	m_wndOutdateTree.Create(dwTreeStyle, rectDummy, &bar, 1200);

	CImageList* pImageList = new CImageList();
	
	pImageList->Create(24, 24, ILC_COLOR32 | ILC_MASK, 0, 3);
	CBitmap bmp;
	bmp.LoadBitmap(IDB_DEVICES);
	pImageList->Add(&bmp, RGB(255, 0, 255));
	m_wndOnlineTree.SetImageList(pImageList, TVSIL_NORMAL);
	m_wndOfflineTree.SetImageList(pImageList, TVSIL_NORMAL);
	m_wndOutdateTree.SetImageList(pImageList, TVSIL_NORMAL);

	bNameValid = strTemp.LoadString(IDS_ONLINE_DEVICES);
	ASSERT(bNameValid);
	m_treeOnlineRoot = m_wndOnlineTree.InsertItem(strTemp, 0, 0);
	pOutlookBar->AddControl(&m_wndOnlineTree, strTemp, 2, TRUE, dwStyle);

	m_wndOnlineTree.Expand(m_treeOnlineRoot, TVE_EXPAND);
	auto h = m_wndOnlineTree.InsertItem(strTemp, 0, 0, m_treeOnlineRoot);
	m_wndOnlineTree.InsertItem(strTemp, 0, 0, h);


	bNameValid = strTemp.LoadString(IDS_OFFLINE_DEVICES);
	ASSERT(bNameValid);
	m_treeOfflineRoot = m_wndOfflineTree.InsertItem(strTemp, 0, 0);
	pOutlookBar->AddControl(&m_wndOfflineTree, strTemp, 2, TRUE, dwStyle);

	bNameValid = strTemp.LoadString(IDS_OUTDATE_DEVICES);
	ASSERT(bNameValid);
	m_treeOutdateRoot = m_wndOutdateTree.InsertItem(strTemp, 0, 0);
	pOutlookBar->AddControl(&m_wndOutdateTree, strTemp, 2, TRUE, dwStyle);
	

	bar.SetPaneStyle(bar.GetPaneStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);

	pOutlookBar->SetImageList(theApp.m_bHiColorIcons ? IDB_PAGES_HC : IDB_PAGES, 24);
	pOutlookBar->SetToolbarImageList(theApp.m_bHiColorIcons ? IDB_PAGES_SMALL_HC : IDB_PAGES_SMALL, 16);
	pOutlookBar->RecalcLayout();

	BOOL bAnimation = theApp.GetInt(_T("OutlookAnimation"), TRUE);
	CMFCOutlookBarTabCtrl::EnableAnimation(bAnimation);

	bar.SetButtonsFont(&afxGlobalData.fontBold);

	return TRUE;
}
コード例 #12
0
ファイル: MainFrm.cpp プロジェクト: RocketersAlex/LCSource
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	const int nDropHeight = 100;

  // set same styles for use with all toolbars
  DWORD dwToolBarStyles = WS_CHILD | WS_VISIBLE | CBRS_SIZE_DYNAMIC |
			CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_GRIPPER;
  CRect rectDummy(0,0,0,0);

	if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
  if( (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_MAIN)) ||
		  (!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) )
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create main tool bar
	}

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

  if( (!m_AnimToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_ANIMATION)) ||
		  (!m_AnimToolBar.LoadToolBar(IDR_ANIMCONTROL)) )
	{
		TRACE0("Failed to create animation toolbar\n");
		return -1;      // fail to create animation tool bar
	}
	
  if( (!m_TextureToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_TEXTURE)) ||
		  (!m_TextureToolBar.LoadToolBar(IDR_TEXTURECONTROL)) )
	{
		TRACE0("Failed to create texture toolbar\n");
		return -1;      // fail to create texture tool bar
	}

  if( (!m_FXToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_FX)) ||
		  (!m_FXToolBar.LoadToolBar(IDR_FX_CONTROL)) )
	{
		TRACE0("Failed to create FX toolbar\n");
		return -1;      // fail to create fx tool bar
	}

  if( (!m_StainsToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_STAINS)) ||
		  (!m_StainsToolBar.LoadToolBar(IDR_STAINSCONTROL)) )
	{
		TRACE0("Failed to create stains toolbar\n");
		return -1;      // fail to create stains tool bar
	}

  if( (!m_ScriptToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_SCRIPT)) ||
		  (!m_ScriptToolBar.LoadToolBar(IDR_SCRIPTCONTROL)) )
	{
		TRACE0("Failed to create script toolbar\n");
		return -1;      // fail to create script tool bar
	}

  if( (!m_MipAndLightToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_MIP_AND_LIGHT)) ||
		  (!m_MipAndLightToolBar.LoadToolBar(IDR_MIPANDLIGHT)) )
	{
		TRACE0("Failed to create mip and light toolbar\n");
		return -1;      // fail to create mip and light tool bar
	}

  if( (!m_RenderControlBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_RENDER)) ||
		  (!m_RenderControlBar.LoadToolBar(IDR_RENDERCONTROL)) )
	{
		TRACE0("Failed to create render control toolbar\n");
		return -1;      // fail to create render control tool bar
	}
  static UINT aidRenderControlBar[15] =
  {
    ID_REND_BBOX_FRAME,
    ID_REND_BBOX_ALL,
    ID_REND_WIRE_ONOFF,
    ID_REND_HIDDEN_LINES,
    ID_REND_FLOOR,
    ID_REND_NO_TEXTURE,
    ID_REND_WHITE_TEXTURE,
    ID_REND_SURFACE_COLORS,
    ID_REND_ON_COLORS,
    ID_REND_OFF_COLORS,
    ID_REND_USE_TEXTURE,
    ID_SHADOW_WORSE,
    ID_SHADOW_BETTER,
    ID_TOGGLE_MEASURE_VTX,
    ID_VIEW_AXIS,
  };
  m_RenderControlBar.SetButtons( aidRenderControlBar, 15);

  if( (!m_RotateToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_ROTATION)) ||
		  (!m_RotateToolBar.LoadToolBar(IDR_ROTATE)) )
	{
		TRACE0("Failed to create rotate surface control toolbar\n");
		return -1;      // fail to create rotate control tool bar
	}
  
  if( (!m_MappingToolBar.CreateEx(this, TBSTYLE_FLAT, dwToolBarStyles, rectDummy, IDW_TOOLBAR_MAPPING)) ||
		  (!m_MappingToolBar.LoadToolBar(IDR_MAPPING)) )
	{
		TRACE0("Failed to create mapping control toolbar\n");
		return -1;      // fail to create mapping control tool bar
	}
  
  // Set z-speed edit ctrl
  m_AnimToolBar.SetButtonInfo(0, ID_Z_SPEED, TBBS_SEPARATOR, 40);
  CRect rectEditSpeed;
	m_AnimToolBar.GetItemRect(0, &rectEditSpeed);
  rectEditSpeed.top = 2;
  rectEditSpeed.right -= 2;
  rectEditSpeed.bottom = rectEditSpeed.top + 18;
  if (!m_ctrlZSpeed.Create( WS_VISIBLE|WS_BORDER,
    rectEditSpeed, &m_AnimToolBar, ID_Z_SPEED) )
	{
		TRACE0("Failed to create model speed edit control\n");
		return FALSE;
	}
  m_ctrlZSpeed.SetWindowText("0");
  
  // Set z-loop edit ctrl
  m_AnimToolBar.SetButtonInfo(1, ID_Z_LOOP_TIMES, TBBS_SEPARATOR, 25);
  CRect rectEditLoop;
	m_AnimToolBar.GetItemRect(1, &rectEditLoop);
  rectEditLoop.top = 2;
  rectEditLoop.bottom = rectEditLoop.top + 18;
  if (!m_ctrlZLoop.Create( WS_VISIBLE|WS_BORDER,
    rectEditLoop, &m_AnimToolBar, ID_Z_LOOP_TIMES) )
	{
		TRACE0("Failed to create model loop edit control\n");
		return FALSE;
	}
  m_ctrlZLoop.SetWindowText("4");

  m_AnimToolBar.SetButtonInfo(6, ID_ANIM_CHOOSE, TBBS_SEPARATOR, 150);
  m_TextureToolBar.SetButtonInfo(2, ID_TEXTURE_CHOOSE, TBBS_SEPARATOR, 150);
  m_StainsToolBar.SetButtonInfo(3, ID_STAINS_CHOOSE, TBBS_SEPARATOR, 150);

  CRect rect;
	m_AnimToolBar.GetItemRect(6, &rect);
	rect.top = 2;
	rect.bottom = rect.top + nDropHeight;
  if (!m_AnimComboBox.Create(
			CBS_DROPDOWNLIST|WS_VISIBLE|WS_TABSTOP|WS_VSCROLL,
			rect, &m_AnimToolBar, ID_ANIM_CHOOSE))
	{
		TRACE0("Failed to create animation combo-box\n");
		return FALSE;
	}
	
  m_TextureToolBar.GetItemRect(2, &rect);
	rect.top = 2;
	rect.bottom = rect.top + nDropHeight;
  if (!m_SkinComboBox.Create(
			CBS_DROPDOWNLIST|WS_VISIBLE|WS_TABSTOP|WS_VSCROLL,
			rect, &m_TextureToolBar, ID_TEXTURE_CHOOSE))
	{
		TRACE0("Failed to create texture combo-box\n");
		return FALSE;
	}

  m_StainsToolBar.GetItemRect(3, &rect);
	rect.top = 2;
	rect.bottom = rect.top + nDropHeight;
  if (!m_StainsComboBox.Create(
			CBS_DROPDOWNLIST|WS_VISIBLE|WS_TABSTOP|WS_VSCROLL,
			rect, &m_StainsToolBar, ID_STAINS_CHOOSE))
	{
		TRACE0("Failed to create stains combo-box\n");
		return FALSE;
	}

  m_AnimComboBox.AddString( "None available");
  m_AnimComboBox.SetCurSel( 0);
	
  m_SkinComboBox.AddString( "None available");
  m_SkinComboBox.SetCurSel( 0);
	
  m_StainsComboBox.AddString( "None available");
  m_StainsComboBox.SetCurSel( 0);
	
  //  Create a font for the comboboxes
	LOGFONT logFont;
	memset(&logFont, 0, sizeof(logFont));

	if (!::GetSystemMetrics(SM_DBCSENABLED))
	{
		logFont.lfHeight = -11;
		logFont.lfWeight = FW_REGULAR;
		logFont.lfPitchAndFamily = FF_ROMAN;
    logFont.lfOrientation = 10;
    logFont.lfQuality = PROOF_QUALITY;
    logFont.lfItalic = TRUE;
		
    CString strDefaultFont;
		strDefaultFont.LoadString(IDS_DEFAULT_ARIAL);
		lstrcpy(logFont.lfFaceName, strDefaultFont);
    
    if( !m_Font.CreateFontIndirect(&logFont))
			TRACE0("Could Not create font for combo\n");
		else
    {
      m_ctrlZSpeed.SetFont(&m_Font);
      m_ctrlZLoop.SetFont(&m_Font);
      m_AnimComboBox.SetFont(&m_Font);
      m_SkinComboBox.SetFont(&m_Font);
      m_StainsComboBox.SetFont(&m_Font);
    }
	}
	else
	{
    m_Font.Attach(::GetStockObject(SYSTEM_FONT));
    m_ctrlZSpeed.SetFont(&m_Font);
    m_ctrlZLoop.SetFont(&m_Font);
    m_AnimComboBox.SetFont(&m_Font);
    m_SkinComboBox.SetFont(&m_Font);
    m_StainsComboBox.SetFont(&m_Font);
	}

  // create pane for closest surface
  UINT nID;
  UINT nStyle;
  int cxWidth;
  m_wndStatusBar.GetPaneInfo( CLOSEST_SURFACE_PANE, nID, nStyle, cxWidth);
  cxWidth = 160;
  m_wndStatusBar.SetPaneInfo( CLOSEST_SURFACE_PANE, nID, nStyle, cxWidth);

	EnableDocking(CBRS_ALIGN_ANY);

	m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);

  m_AnimToolBar.SetBarStyle(m_AnimToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_AnimToolBar.EnableDocking(CBRS_ALIGN_ANY);

  m_TextureToolBar.SetBarStyle(m_TextureToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_TextureToolBar.EnableDocking(CBRS_ALIGN_ANY);

  m_FXToolBar.SetBarStyle(m_FXToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_FXToolBar.EnableDocking(CBRS_ALIGN_ANY);

  m_StainsToolBar.SetBarStyle(m_StainsToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_StainsToolBar.EnableDocking(CBRS_ALIGN_ANY);

  m_ScriptToolBar.SetBarStyle(m_ScriptToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_ScriptToolBar.EnableDocking(CBRS_ALIGN_ANY);

  m_MipAndLightToolBar.SetBarStyle(m_MipAndLightToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_MipAndLightToolBar.EnableDocking(CBRS_ALIGN_ANY);
  
  m_RenderControlBar.SetBarStyle(m_RenderControlBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_RenderControlBar.EnableDocking(CBRS_ALIGN_ANY);
  
  m_RotateToolBar.SetBarStyle(m_RotateToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_RotateToolBar.EnableDocking(CBRS_ALIGN_ANY);
  
  m_MappingToolBar.SetBarStyle(m_MappingToolBar.GetBarStyle() |
		CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
	m_MappingToolBar.EnableDocking(CBRS_ALIGN_ANY);
  
	RecalcLayout();
	DockControlBar(&m_wndToolBar, AFX_IDW_DOCKBAR_TOP);
	DockControlBarRelativeTo(&m_AnimToolBar, &m_wndToolBar, 1, 0);
	DockControlBarRelativeTo(&m_TextureToolBar,&m_FXToolBar, 1, 0);
	DockControlBarRelativeTo(&m_FXToolBar,&m_AnimToolBar, 1, 0);

  DockControlBarRelativeTo(&m_ScriptToolBar,&m_wndToolBar, 0, 15);
	DockControlBarRelativeTo(&m_MipAndLightToolBar,&m_ScriptToolBar, 1, 0);
  DockControlBarRelativeTo(&m_RotateToolBar, &m_MipAndLightToolBar, 1, 0);
  DockControlBarRelativeTo(&m_MappingToolBar, &m_RotateToolBar, 1, 0);
	DockControlBarRelativeTo(&m_StainsToolBar,&m_MappingToolBar, 1, 0);
	
  DockControlBar(&m_RenderControlBar, AFX_IDW_DOCKBAR_LEFT);
  DockControlBarRelativeTo(&m_MappingToolBar, &m_RenderControlBar, 0, 1);

	LoadBarState(_T("General"));
  return 0;
}
コード例 #13
-1
BOOL CImageWindow::Create(CWnd *pwndParent, const CRect rtPosition)
{
	ASSERT(pwndParent);

	CRect rectDummy(0, 0, 0, 0);
	if(rtPosition.IsRectEmpty() || rtPosition.IsRectNull())
	{
		pwndParent->GetClientRect(&rectDummy);
	}
	else
	{
		rectDummy = rtPosition;
	}

	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	CWnd tmpWnd;
	tmpWnd.Attach(pwndParent->GetSafeHwnd());

	if(!CWnd::Create(NULL, NULL, WS_VISIBLE, rectDummy, &tmpWnd, 0, NULL))
	{
		tmpWnd.Detach();
		return FALSE;
	}

	tmpWnd.Detach();

	return TRUE;
}