2.2.6.17.116 GridControl::SetOutlineBar


Description

Sets the type of outline bar that should be displayed.

Syntax

int SetOutlineBar( int nOutlineBar )

Parameters

nOutlineBar
[input] OutlineBarSettings

Return

Returns the original setting

Examples

The examples in this section will use an existing grid dialog resource DLL that gets installed with Origin C's Developer Kit. The DLL can be found in this zip file, under \Dialog Builder\GridDLG sub-folder.

#include <..\Originlab\DialogEx.h>
#include "GridDLGRes.h"// resource DLL header

class GridCtrlDLG : public ResizeDialog
{
public:
	GridCtrlDLG() : ResizeDialog(IDD_GRID_DLG, "GridDLG")
	{
	}

	int DoModal(HWND hParent = NULL)
	{
		InitMsgMap();
		int nRet = ResizeDialog::DoModal(hParent);
		return nRet;
	}

protected:
///----------------- Message Map ----------------
	EVENTS_BEGIN
		ON_INIT(OnInitDialog)
		ON_SIZE(OnDlgResize)
		ON_GETMINMAXINFO(OnMinMaxInfo)
	EVENTS_END
///----------------------------------------------
	
	BOOL OnInitDialog()
	{
		ResizeDialog::OnInitDialog(0, "Grid Dialog");
		
		//initialize grid control
		m_GridCtrl.Init(IDC_GRID, *this);
		m_GridCtrl.SetupRowsCols( 1, 0, 5, 1 );
		m_GridCtrl.SetOutlineBar(flexOutlineBarSimpleLeaf);
		
		//move grid control to top left
		RECT rrList;	
		rrList.top = rrList.left = GetControlGap();
		m_GridCtrl.MoveWindow(rrList);
		
		SetInitReady();
	
		//fill grid
		int nCol = m_GridCtrl.GetColOffset();		
		vector<string> vsItems = {"Mon", "Tue", "Wed", "Thu", "Fri", "AM", "PM", "2:00", "3:00"};
		m_GridCtrl.CheckExpandRows( vsItems.GetSize() - m_GridCtrl.GetRowOffset() );
		m_GridCtrl.SetCells(vsItems, nCol);
		
		m_GridCtrl.SetIsSubtotal(5, true);
		m_GridCtrl.SetRowOutlineLevel(5, 0);
		
		m_GridCtrl.SetIsSubtotal(6, true);
		m_GridCtrl.SetRowOutlineLevel(6, 1);
		
		m_GridCtrl.SetIsSubtotal(7, true);
		m_GridCtrl.SetRowOutlineLevel(7, 1);
		
		m_GridCtrl.SetIsSubtotal(8, true);
		m_GridCtrl.SetRowOutlineLevel(8, 2);
		
		m_GridCtrl.SetIsSubtotal(9, true);
		m_GridCtrl.SetRowOutlineLevel(9, 2);
		
		return TRUE;
	}	

	BOOL OnDlgResize(int nType, int cx, int cy)
	{
		if(!IsInitReady())
			return TRUE;		
		
		uint nButtonIDs[] = {IDOK, 0};
		ArrangeMainItemAndControls(nButtonIDs, IDC_GRID, NULL, false);
		return TRUE;
		
	}	
	
private:
	GridControl         m_GridCtrl;
};

bool OpenGridDLG()    
{
	GridCtrlDLG myDlg;
	myDlg.DoModal( GetWindow() );
	return true;
}

Remark

See Also

GridControl::GetIsSubtotal
GridControl::SetIsSubtotal
GridControl::GetRowOutlineLevel
GridControl::SetRowOutlineLevel

Header to Included

GridControl.h