Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Даём возможность пользователю изменять ToolBar


Автор: Deepak Khajuria

Описание

Класс CToolbarEx поддерживает основные типы изменения тулбара (как в IE) с элементами управления на нём. К тому же он может скрывать некоторые контролы, когда тулбар расположен вертикально (например, выпадающий список).

Для использования класса в своём проекте, проделайте следующие шаги:

1. Добавьте в проект ToolBarEx.cpp и ToolBarEx.h.

2. Включите ToolbarEx.h в MainFrame.h и замените CToolBar на CToolBarEx в CMainFrame

	#include "ToolBarEx.h"
 	. . .
 
 	// CToolBar      m_wndToolBar;
   	   CToolBarEx    m_wndToolBar;
 

3. В методе OnCreate класса CMainFrame, после того как создание Toolbar завершено(включая элементы управления), вызовите SetToolBarInfoForCustomization для установки дополнительных элементов в тулбаре. Эта функция будет вызвана после создания тулбара и элементов управления.

    CRect rt(0,0,200,120);
 
     //Вставляем элемент управления
     m_pComboBox =(CComboBox *) m_wndToolBar.InsertControl(RUNTIME_CLASS(CComboBox),
                                     _T(""),rt,ID_FIND,WS_VSCROLL|CBS_DROPDOWNLIST);
 
     m_pComboBox->AddString(_T("One"));
     m_pComboBox->AddString(_T("Two"));
     m_pComboBox->AddString(_T("Three"));
 
     //Добавляем выпадающий список
     m_wndToolBar.AddDropDownButton(ID_OP,IDR_OP,TRUE);
 
     //Разрешаем изменение тулбара
     m_wndToolBar.SetToolBarInfoForCustomization();
 

4. В заключение восстанавливаем последние записанные данные тулбара

	//Восстанавливаем состояние
 	m_wndToolBar.RestoreState();
 

Так же можно добавить SaveState в OnClose класса CMainFrame.

Методы и переменные класса

	CWnd* InsertControl(CRuntimeClass* pClass,LPCTSTR lpszWindowName,
                                             CRect& rect,UINT nID,DWORD dwStyle );
 

Функция создаёт и добавляет контрол в Toolbar и возвращает указатель на добавленное окно. В параметре rect помещается только ширина и высота.

	CWnd* InsertControl(CWnd* pCtrl,CRect& rect,UINT nID);
 

Эта функция добавляет уже созданный элемент управления в Toolbar. В параметре rect помещается только ширина и высота.

	BOOL AddDropDownButton(UINT nIDButton,UINT nIDMenu,BOOL bArrow=TRUE);
 

Это функция добавления кнопки для выпадающего списка с меню, ассоциированного с ним. Если Вы хотите, чтобы стрелочка была видна, то установите bArrow в TRUE.

	void SetToolBarInfoForCustomization();
 

Эта функция устанавливает информацию для изменения Toolbar. Имена, используемые для кнопок в диалоговом окне изменения тулбара берутся из Tooltip кнопки. (Работать с ними желательно в редакторе ресурсов) Вызывайте эту функцию после создания Tolobar. После этого будут добавлены контролы и выпадающий список.

	void SaveState()
 

Сохраняет состояние тулбара в реестре.

	void RestoreState()
 

Восстанавливает состояние тулбара из реестра.

	BOOL m_bShowDropdownArrowWhenVertical;
 

Флаг, указывающий, будет ли видим выпадающий список при вертикальном расположении тулбара. По умолчанию значение FALSE

	BOOL m_bHideChildWndOnVertical;
 

Флаг элемента управления, показывающий - будет ли он видим при вертикальном расположение тулбара. По умолчанию значение TRUE





<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS