// PropertiesBar.cpp : implementation file // #include "stdafx.h" #include "skinsdemo.h" #include "PropertiesBar.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPropertiesBar const UINT IDC_PROPERTIES = 1001; CPropertiesBar::CPropertiesBar() { } CPropertiesBar::~CPropertiesBar() { } BEGIN_MESSAGE_MAP(CPropertiesBar, COXSizeControlBar) //{{AFX_MSG_MAP(CPropertiesBar) ON_WM_CREATE() ON_WM_SIZE() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPropertiesBar message handlers int CPropertiesBar::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COXSizeControlBar::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here if (!m_wndProperties.Create(NULL, NULL, WS_VISIBLE | WS_CHILD, CRect(0,0,0,0), this/*, IDC_PROPERTIES*/)) { return -1; } // Uncomment the next line if you want to hide the combo box // m_wndProperties.ShowCombo(FALSE); // Put some items in the combo box for (int i = 0; i < 10; i++) { COMBOBOXEXITEM cbi; cbi.iItem = i; cbi.mask = CBEIF_TEXT; CString strText; strText.Format(_T("Item %d"), i); cbi.pszText = (TCHAR*)(LPCTSTR) strText; m_wndProperties.GetComboBoxEx().InsertItem(&cbi); } // Uncomment the next line if you want to hide the toolbar // m_wndProperties.ShowToolBar(FALSE); InitProperties(); return 0; } void CPropertiesBar::OnSize(UINT nType, int cx, int cy) { COXSizeControlBar::OnSize(nType, cx, cy); // TODO: Add your message handler code here CRect rectClient; GetClientRect(rectClient); m_wndProperties.MoveWindow(rectClient); } void CPropertiesBar::InitProperties() { ASSERT(::IsWindow(m_hWnd)); // this window must be already created HPROPERTY hProperty; // Text hProperty= m_wndProperties.InsertProperty( _T("Text"), // property name _T(""), // initail value _T("Demonstrates the use of a text field."), // property description _T("Data"), // category &m_textEditor); // editor window // Read-only field (no editor) hProperty= m_wndProperties.InsertProperty( _T("Serial Number"), // property name _T("K67-FR45-5"), // initail value _T("Demonstrates the use of a read-only field."), // property description _T("Data")); // category // List of items CStringArray items; items.Add(_T("New York")); items.Add(_T("Chicago")); items.Add(_T("London")); items.Add(_T("Paris")); items.Add(_T("Toronto")); items.Add(_T("Berlin")); items.Add(_T("Rome")); items.Add(_T("Los Angeles")); m_listEditor.SetListItems(&items, &m_wndProperties); // set the list of items hProperty= m_wndProperties.InsertProperty( _T("City"), // property name _T(""), // initail value _T("Demonstrates the use of a list field."), // property description _T("Data"), // category &m_listEditor); // editor window // Number hProperty= m_wndProperties.InsertProperty( _T("Number"), // property name _T("0.00"), // initail value _T("Demonstrates the use of a numeric field."), // property description _T("Data"), // category &m_numericEditor); // editor window // Phone number (using COXMaskedEdit) m_phoneNumberEditor.SetMask(_T("(###) ###-#### Ex.###")); hProperty= m_wndProperties.InsertProperty( _T("Telephone"), // property name _T("( ) - Ex."), // initail value _T("Demonstrates the use of a masked field."), // property description _T("Data"), // category &m_phoneNumberEditor); // editor window // Currency hProperty= m_wndProperties.InsertProperty( _T("Currency"), // property name _T("$0.00"), // initail value _T("Demonstrates the use of a currency field."), // property description _T("Data"), // category &m_currencyEditor); // editor window // IP Address hProperty= m_wndProperties.InsertProperty( _T("IP Address"), // property name _T(""), // initail value _T("Demonstrates the use of a ip address field."), // property description _T("Data"), // category &m_ipAddressEditor); // editor window // Date (use "dd" to specify the day, "mm" to specify the month // and either "yy" or "yyyy" to specify the year) m_dateEditor.SetDateFormat(_T("dd/mm/yyyy")); hProperty= m_wndProperties.InsertProperty( _T("Date"), // property name _T(""), // initail value _T("Demonstrates the use of a date field."), // property description _T("Data"), // category &m_dateEditor); // editor window // Time hProperty= m_wndProperties.InsertProperty( _T("Time"), // property name _T("1.00 s"), // initail value _T("Demonstrates the use of a time field."), // property description _T("Physical Fields"), // category &m_timeEditor); // editor window // Angle hProperty = m_wndProperties.InsertProperty( _T("Angle"), // property name _T("0.00 °"), // initail value _T("Demonstrates the use of an angle field."), // property description _T("Physical Fields"), // category &m_angleEditor); // editor window // Length hProperty = m_wndProperties.InsertProperty( _T("Length"), // property name _T("0.00 m"), // initail value _T("Demonstrates the use of a length field."), // property description _T("Physical Fields"), // category &m_lengthEditor); // editor window // Temperature hProperty = m_wndProperties.InsertProperty( _T("Temperature"), // property name _T("0.00 °C"), // initail value _T("Demonstrates the use of a temparature field."), // property description _T("Physical Fields"), // category &m_temperatureEditor); // editor window // Color hProperty = m_wndProperties.InsertProperty( _T("Color"), // property name _T("None"), // initail value _T("Demonstrates the use of a color field."), // property description _T("Miscellaneous"), // category &m_colorEditor); // editor window // Calculator hProperty = m_wndProperties.InsertProperty( _T("Calculator"), // property name _T("0.00"), // initail value _T("Demonstrates the use of a calculator field."), // property description _T("Miscellaneous"), // category &m_calculatorEditor); // editor window // Directory hProperty = m_wndProperties.InsertProperty( _T("Directory"), // property name _T(""), // initail value _T("Demonstrates the use of a directory field."), // property description _T("Miscellaneous"), // category &m_directoryEditor); // editor window // Filename hProperty = m_wndProperties.InsertProperty( _T("Filename"), // property name _T(""), // initail value _T("Demonstrates the use of a filename field."), // property description _T("Miscellaneous"), // category &m_filenameEditor); // editor window }