2017-01-17 2 views
0

Полное раскрытие информации, я знаю, что ответ на этот вопрос да, но я надеюсь, что есть лучший способ.Возможно ли создать панель инструментов дока в стиле OSX в Windows с использованием MFC или .NET?

Я поддерживаю приложение, которое использует MFC CAppBar для создания «док-станции», которую можно состыковать на любом краю экрана или в виде плавающего окна. Он был первоначально написан в 90-х годах и был обновлен только настолько, чтобы поддерживать его работу на протяжении многих лет. Я ищу решение для замены всего приложения, но мои поисковые запросы Google возвращают результаты только для стыковки окон в приложении типа MDI, а не для стыковки/закрепления самого приложения.

Может ли кто-нибудь указать мне в правильном направлении относительно некоторых потенциальных классов/фреймворков, которые могут справиться с таким поведением (или, по крайней мере, достаточно близко, чтобы я мог представить его в качестве альтернативы)?

ответ

0

Вы можете использовать WPF для создания окна с определенным размером и размещением с TopMost = true и WindowStyle = None. Вы должны иметь возможность реализовать свои функции стыковки, управляя некоторой комбинацией событий mousedown/mousemove.

+0

Bogus. Почему WPF ничего не добавит, просто отправляясь с MFC, если ваш ответ: * «Ну, вам придется писать код для этого самостоятельно» *? Это расплывчато, предлагает неправильный путь решения проблемы и полностью упускает проблему для решения вопроса. Не знаю, почему это получило голосование. – IInspectable

+0

OP выразила желание создать панель инструментов док-станции «OSX style». Предполагая, что это означает больше, чем сетка кнопок стиля OS/2, подразумевалось, что они хотят получить более качественную графическую поддержку, могут чисто масштабироваться между различными разрешениями и использовать аппаратное ускорение, чтобы использовать преимущества анимаций/переходов, которые ожидаются/присущи с панелью инструментов док-станции OSX. Мне не известно ни о каком удаленном простом способе создания желаемого результата с использованием MFC (много лет занимался разработкой приложений MFC). – Eric

+0

Довольно трудно догадаться, почему вы считаете, что WPF имеет лучшую графическую поддержку, чем какая-то нераскрытая подсистема. И, честно говоря, ничто в док-станции Mac OS X даже не потребовало аппаратного ускорения. Но если вы настаиваете на том, что аппаратное ускорение является обязательным, то переходить с WPF является наихудшим возможным способом его использования. Зачем рекомендовать API, который заставляет весь код проходить через управляемый интерфейс, просто чтобы поговорить с собственной версией? Почему бы не предложить использовать механизм компоновки вместо этого, что положит конец этому безумию? – IInspectable

Смежные вопросы