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