Как избежать двойных полос прокрутки при использовании класса CSplitterWndEx
Я создал приложение с помощью мастера MFC и добавил функциональность сплиттера.
Мастер добавит переменную CSplitterWndEx m_wndSplitter
к классу CChildFrame
,
После этого будет создан разделенный вид с горизонтальной полосой прокрутки и вертикальной полосой прокрутки.
Но у богатого представления редактирования также есть своя полоса прокрутки.
Как я могу сохранить только одну полосу прокрутки и сохранить функциональность разделения?
Заранее спасибо.
2 ответа
Наконец я не нашел решения для этого. Я использовал SetScrollStyle(0), чтобы скрыть полосу прокрутки для окна сплиттера. Но у меня есть новая проблема сейчас. Как я могу разделить окно сейчас? Я не могу разбить окно, дважды щелкнув верхний правый угол полосы прокрутки, потому что полоса прокрутки теперь скрыта. Я хотел бы использовать команду из меню, чтобы разбить окно. Какой API я должен использовать, чтобы разделить окно. Кстати, я использовал динамическое представление.
Полоса прокрутки создается в соответствии со стилем, заданным при создании окна-разделителя. Пожалуйста, перейдите по следующей ссылке
https://learn.microsoft.com/en-us/cpp/mfc/reference/csplitterwnd-class?view=msvc-170#create
если стиль изменен, как показано ниже, полосы прокрутки не будут созданы
DWORD dwStyle = WS_CHILD | WS_VISIBLE | SPLS_DYNAMIC_SPLIT.
Чтобы показать разделитель для динамического разделения, нам нужны полосы прокрутки, которые создают пространство для отображения разделителя.