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