Плавающий контроль над CView

У меня есть приложение, которое использует несколько CViewклассы (на самом деле CScrollView) для отображения данных документа. Для одного конкретного вида я хочу добавить всплывающее окно редактирования для добавления заметок. То есть вы увидите вкладку в нижней части окна с надписью "Примечания к странице", и при нажатии на нее откроется окно редактирования. Если щелкнуть вкладку, когда поле редактирования видно, она вернется к вкладке.

Я думал, что мог бы использовать одну вкладку CTabCtrl удерживая поле редактирования и просто расположите его так, чтобы изначально была видна только вкладка. Захватите уведомление о щелчке вкладки и переместите весь элемент управления с полем редактирования в поле зрения. Повторное нажатие на вкладку переместит ее вниз, так что будет видна только вкладка.

Хостинг CTabCtrl на CView хорошо, и я могу правильно расположить его. Проблема в том, что если прокручивается представление, то вместе с ним прокручивается элемент управления вкладками, тогда как мне нужно, чтобы он "плавал" над представлением и не подвергался никакой прокрутке. Я могу вернуть его на место после прокрутки, но мерцание неприглядно.

Есть ли прямой способ достичь "плавающего" эффекта? В основном, я хочу, чтобы вкладка была включена в представление для обслуживания, поскольку это единственный класс представлений, который нуждается в использовании функции "Примечания страницы".

Должен ли я просто пристегнуться и поместить вместо этого вкладку в родительское окно представления? Я знаю, что прокрутка там не повлияет, но мне нравится идея сохранить вкладку как часть представления, если это возможно.

1 ответ

Похоже, вкладка функционирует как кнопка. Вы нажимаете на вкладку, и появляется поле редактирования. Вы можете использовать немодальный диалог. Выберите "Примечание к странице", и появится немодальное диалоговое окно для редактирования ваших заметок, позволяя вам прокрутить представление под диалоговым окном.

Другие вопросы по тегам