Как создать что-то вроде закладок Firefox в проекте Visual Studio 2008 C ++? - PullRequest
1 голос
/ 25 января 2010

У меня есть Visual Studio 2008, и я хочу создать приложение с графическим интерфейсом, которое с левой стороны имеет рамку, которую можно свернуть, как боковую панель закладки Firefox. Итак, мои вопросы: 1) Какой тип проекта мне нужен? 2) Какие элементы управления на самом деле составляют боковую панель. 3) Что я делаю основной кадр, чтобы я мог изменить его размер, когда боковая панель открыта. Пример тоже был бы классным. Заранее спасибо. CP

Ответы [ 3 ]

2 голосов
/ 26 января 2010

Несмотря на то, что, как указал Макс, часто клеветой, MFC предоставляет CTaskBar, который предназначен именно для такого рода вещей. То, что у вас внутри, очень похоже на CTreeCtrl (или CTreeeView) со связанным CImageList для отображения значков для закладок. Изменение размера основного блока при открытой боковой панели обрабатывается автоматически. Чтобы создать проект, который включает это, выберите тип приложения «Visual Studio» (после выбора «Приложение MFC»).

Как примечание к записи, я вполне уверен, что FireFox не на самом деле использует MFC CTaskBar. Боковая панель Firefox довольно ограничена сравнением - она ​​позволяет использовать только одну боковую панель с одной панелью в одной позиции. CTaskBar поддерживает несколько панелей задач, которые пользователь может переставлять по желанию, каждая из которых может иметь несколько плиточных панелей и / или панелей с вкладками (и, например, пользователь может не только перемещать полную панель задач перетаскиванием, но также перетаскивать панели между панели задач, перетащите панель самостоятельно, чтобы стать отдельной панелью задач и т. д.

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

2 голосов
/ 25 января 2010

Похоже, TaskPane (CTaskPane) прикреплен к простому окну фрейма SDI (принимая во внимание, что firefox делает много вещей с помощью своего собственного инструментария (я думаю, и я знаю, что это неправильно)

Загрузите пакет функций MFC VS2008 (с новыми элементами управления пользовательского интерфейса) и примеры пакетов компонентов и ознакомьтесь с некоторыми примерами проектов (например, «TaskPane» и «VisualStudioDemo»

0 голосов
/ 26 января 2010

ну, вы всегда можете скачать исходный код FF здесь и посмотреть сами, вы можете найти больше, чем ожидаете;). еще один хороший инструмент для запоминания - это spy ++ (в VS), очень полезный для поиска свойств окон и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...