Отправляет email-рассылки с помощью сервиса Sendsay

Статьи по Visual C++

  Все выпуски  

Menu, ToolBar и StatusBar в стиле VS.NET 2002


Visual C++
Лучшие статьи с сайта www.p-lib.pp.ru
  Главная | Новости | Статьи | Каталог | Софт | Хостинг (new) | Регистрация | Поиск

Новые статьи на сайте

1. Загрузка представления Doc/View из DLL(SDI)
В статье речь пойдет о замене представлений в SDI приложении. Причем представление будет загружаться из динамической библиотеки DLL.

2. Замена представления вида в MDI и SDI приложениях
Иногда в приложении требуется заменить существующее представление на другое. К примеру, заменить представление CTreeView на CListView. Выполнение этой функции в MDI и SDI приложениях немного отличается.

3. Класс гиперссылок CHyperLink
Класс CHyperLink служит для создания гиперссылок. Этот класс является производным от класса CStatic.

4. Помещение ProgressBar в TaskBar
Статья рассказывает о реализации такой возможности, как вставка элемента управления ProgressBar в TaskBar.

5. Класс CUsefulSplitterWnd (расширение класса CSplitterWnd)
Класс CUsefulSplitterWnd расширяет класс CSplitterWnd и дает ему новые возможности.

6. Работа с переменными в других процессах
Приведенный в статье пример показывает, как можно получить название всех кнопок Таскбара.

7. Как программно управлять CD-ROM'ом?
В статье рассказывается о том, как програмно можно открывать или закрывать CD-ROM и многое другое.

8. Копирование текста в буфер обмена
Приведенный в статье пример демонстрирует помещение текста в буфер обмена. В данном случае, текстовые данные берутся из обычной переменной CString.

9. Элемент управления CTreeCtrl
Кроме возможности выводить записи последовательных списков при помощи таких элементов, как список или просмотр списка, Windows предоставляет возможность отображения (и управления) списков, организованных по принципу дерева.

10. Шрифты
В статье рассказывается об использовании шрифтов в MFC. На примере показано создание собственного шрифта.

Свежие компьютерные новости

31.03.2006 Модификацию IE можно будет отложить на 60 дней

31.03.2006 Google временно лишилась своего блога

31.03.2006 InPhase добилась рекордной плотности записи информации

31.03.2006 В интернете появились неофициальные патчи для IE

31.03.2006 Новый флэш-брелок Buslink вмещает до 64 Гб данных

31.03.2006 Появились косвенные доказательства жизни на Марсе

29.03.2006 Вышел новый билд бета-версии Windows Vista

29.03.2006 Американская компания заплатит за спам 900000 долларов штрафа

Menu, ToolBar и StatusBar в стиле VS.NET 2002

В этой статье вы сможете узнать, как сделать в своей программе элементы управления в стиле Visual Studio.NET 2002. А именно будут рассмотрены следующие элементы управления: меню, панель инструментов, строка состояния. Теперь мы расскажем об классах этих элементов управления.

  1. CMenuXP – класс элемента управления меню.
  2. CXPToolBar – класс элемента управления панель инструментов.
  3. CCXPStatusBar – класс элемента управления строка состояния.

Разбирать сам принцип работы думаю мы не будем, так как это слишком долго и потребуем много времени. Но разобрать как же использовать эти эти элементы управления думаю всетаки стоит. Разбирать будем на примере SDI приложения.

Для начала надо объявить переменные этих классов:

CCXPStatusBar  m_wndStatusBar;
CXPToolBar    m_wndToolBar;
CXPMenuBar   m_wndMenuBar;

Потом в том месте где объявляется карта (в файле MainFrm.cpp) сообщений добавить строчку:

DECLARE_MENUXP()

Далее, уже в файле MainFrm.h к карту сообщений добавить следующее сообщение:

ON_MENUXP_MESSAGES()

И стается добавить строчку:

IMPLEMENT_MENUXP(CMainFrame, CFrameWnd, true);

Теперь давайте рассмотрим действия в функции OnCreate. Сдесь нет ничего необычного, за исключением конечно создания меню.

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
 if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  return -1;
 if (!m_wndMenuBar.CreateEx(this, WS_CHILD | WS_VISIBLE | CBRS_TOP
  | CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_RAISEDBORDER) ||
  !m_wndMenuBar.LoadMenuBar(IDR_MAINFRAME))
 {
  TRACE0("Failed to create menubar\n");
  return -1;      // fail to create
 } 

 if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
 {
  TRACE0("Failed to create toolbar\n");
  return -1;      // fail to create
 }
 m_wndToolBar.SetButtonText(m_wndToolBar.CommandToIndex(ID_FILE_NEW), _T("File"));

 if (!m_wndStatusBar.Create(this) ||
  !m_wndStatusBar.SetIndicators(indicators,
    sizeof(indicators)/sizeof(UINT)))
 {
  TRACE0("Failed to create status bar\n");
  return -1;      // fail to create
 }
 // TODO: Delete these three lines if you don't want the toolbar to be dockable
 m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
 m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
 EnableDocking(CBRS_ALIGN_ANY);
 DockControlBar(&m_wndMenuBar);
 DockControlBar(&m_wndToolBar);

 return 0;
}

Как видете инициализация меню полностью похожа на инициализацию панели инструментов. Если взглянуть в код класса меню, то можно увидеть что класс CXPMenuBar является производным от класса CcontrolBar.

Исходник к статье можно скачать здесь.

Книги с Озона

Visual C++.NET. Библия пользователя Visual C++.NET. Библия пользователя

Эта книга посвящена библиотеке MFC, a не только платформе .NET. Весь материал разбит на разделы, освещающие отдельные направления разработки, объединенные в логически упорядоченные категории, что позволит новичкам получить систематизированные знания, читая книгу шаг за шагом, а квалифицированный программист легко найдет интересующие разделы. Каждая глава начинается вводным разделом, содержащим краткую информацию по обсуждаемой теме, а затем следует пример довольно простого демонстрационного приложения. Книга предназначена для программистов средней и высокой квалификации.

Заказать на Озоне

Visual C++.NET. Класссика програмирования (+ CD-ROM) Visual C++.NET. Класссика програмирования (+ CD-ROM)

"Visual C++.Net. Классика программирования" - книга, необходимая как начинающему программисту, так и профессионалу, желающему познакомиться с новыми возможностями последней версии наиболее популярной системы программирования. Изучение этой книги не требует глубоких знаний языка C++, однако предполагается знание основ языка С. Поэтапное изучение предмета позволит человеку с любым уровнем начальных знаний о языке программирования C++ легко изучить самую современную его версию. Данная книга - не просто учебник по языку программирования, это первый шаг в создании удобных, профессиональных приложений, ориентированных на Internet.

Заказать на Озоне

Использование Microsoft Visual C++ .NET. Специальное издание Использование Microsoft Visual C++ .NET. Специальное издание

Эта книга фокусирует внимание читателя на использовании языка программирования Visual C++ при создании 32-разрядных Windows-приложений, включая приложения баз данных, Internet-приложения и СОМ-приложения. Помимо этого, здесь содержится описание технологии .NЕТ и способа применения языка Visual C++ при создании .NЕТ-приложений, использующих базы данных, взаимодействующих с Internet и т.д. Особое внимание автор книги уделяет совместному использованию технологий .NЕТ и СОМ. Эта книга будет полезна как начинающим, так и опытным программистам.

Заказать на Озоне

Советую посетить

Портал для Delphi программиста - Быстро развивающийся портал о программирование на языке Pascal/Delphi. Статьи, исходники, компоненты, справочники, мануалы, FaQ, программы.

Замечания и предложения отправляйте на E-Mail указанный ниже. С уважением Ковязин Дмитрий (admin@p-lib.pp.ru).



В избранное