Визуальное программирование и MFC


Дополнительные возможности панели управления - часть 2


Далее в классе главного окна приложения следует объявить объект этого нового класса:

class CMainFrame : public CMDIFrameWnd { protected: CExtendedBar m_wndToolBar; // расширенная панель управления // другие описания класса .....…. };

Затем создаем панель управления и добавляем в нее дополнительные элементы при обработке сообщения WM_CREATE для главного окна приложения:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { // вызов метода базового класса для корректного создания окна if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1) return -1;

// разрешить присоединение панелей ко всем сторонам окна EnableDocking(CBRS_ALIGN_ANY);

// создание панели управления if (!m_wndToolBar.Create(this) !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) return -1;

// увеличим размер первого разделителя (его индекс 3) m_wndToolBar.SetButtonInfo(3,ID_EDIT,TBBS_SEPARATOR,130); // определяем координаты области, занимаемой разделителем CRect rEdit; m_wndToolBar.GetItemRect(3,&rEdit); rEdit.left+=6; rEdit.right-=6; // отступы

// создаем и размещаем однострочный редактор текста if(!(m_wndToolBar.m_edit.Create(WS_CHILD| ES_AUTOHSCROLL|WS_VISIBLE|WS_TABSTOP| WS_BORDER,rEdit,&m_wndToolBar,ID_EDIT))) return -1; // вводим ограничение на количество вводимых символов m_wndToolBar.m_edit.SetLimitText(10);

// увеличим размер второго разделителя (его индекс 7) m_wndToolBar.SetButtonInfo(7,ID_COMBO,TBBS_SEPARATOR,130); // определяем координаты области, занимаемой разделителем CRect rCombo; m_wndToolBar.GetItemRect(7,&rCombo); rCombo.left+=6; rCombo.right-=6; // отступы rCombo.bottom+=60; // для списка пунктов

// создаем и размещаем выпадающий список if(!(m_wndToolBar.m_combo.Create(WS_CHILD| CBS_DROPDOWNLIST|WS_VISIBLE|WS_TABSTOP, rCombo,&m_wndToolBar,ID_COMBO))) return -1; // добавляем строки в список m_wndToolBar.m_combo.AddString("First"); m_wndToolBar.m_combo.AddString("Second"); m_wndToolBar.m_combo.AddString("Third"); // отмечаем в списке первый пункт m_wndToolBar.m_combo.SetCurSel(0);




Начало  Назад  Вперед



Книжный магазин