Кнопка с выпадающим меню
Автор: Norm Almond
Описание
Пример показывает
использование красивого эффекта, применяемого в
Office 2000. Исходник построен на базе классов MFC.
Класс кнопки наследуется от CButton, и,
соответственно, сохраняет в себе все свойства
родительского класса.
В классе находятся три ключевые функции:
создания кнопки, добавления битмап картинки и
добавления к кнопке выпадающего меню
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
BOOL SetButtonImage(UINT nResourceId, COLORREF crMask);
BOOL AddMenuItem(UINT nMenuId,const CString strMenu, UINT nFlags);
Картинку можно
добавить в проект как обычный ресурс (обычно для
кнопок используют размер 16х15 пикселей, маска
RGB(255,0,255) (Magenta))
Из примера видно, что кнопка конструируется в
функции OnInitDialog диалога. В классе
добавлены такие функции как RemoveMenuItem и ModifyMenuItem позволяющие на ходу удалять и
модифицировать пункты выпадающего меню, а так же
можно модифицировать функцию SetButtonImage, чтобы можно было изменять картинку на
кнопке.
|