Ваш вопрос довольно двусмысленный, но если вам нужно анимировать (скрыть) потрясающий скролл, вы можете обратиться к этому учебнику . В противном случае объясните свой пост, чтобы получить больше помощи в сообществе.
Приветствия
зависит от ваших потребностей.
Использование CLR предоставит вам наиболее выразительный набор библиотек (всю платформу .NET) за счет ограничения вашего исполняемого файла требованием установки .NET Framework во время выполнения, а также ограничения вас Платформа Windows (однако все 4 перечисленные технологии являются только окнами, поэтому ограничение платформы, вероятно, наименее хлопотно).
Однако CLR требует от вас использовать расширения C ++ / CLI для языка C ++, так что вы в по сути, необходимо изучить некоторые дополнительные возможности языка, чтобы использовать это. Это дает вам множество «дополнительных возможностей», таких как доступ к библиотекам .net, полная сборка мусора и т. Д.
ATL и MFC несколько сложнее выбрать. Я бы направил вас на страницу MSDN для выбора , чтобы выбрать между ними. Хорошая вещь в ATL / MFC состоит в том, что вам не нужна платформа .NET, для установки должны быть установлены только среды выполнения VC / MFC.
Использование Win32 напрямую обеспечивает самые маленькие исполняемые файлы с наименьшим количеством зависимостей, но больше работать, чтобы написать. У вас меньше всего вспомогательных библиотек, поэтому вы пишете больше кода.
Win32 - это простой способ сделать это. Он утомителен, сложен в использовании и содержит множество мелких деталей, которые нужно помнить, иначе все закончится неудачей относительно таинственными способами.
MFC основывается на Win32, чтобы предоставить вам объектно-ориентированный способ построения вашего приложения. Это не замена для Win32, а скорее усовершенствование - оно выполняет большую часть тяжелой работы за вас.
System.Windows.Forms (что, как я полагаю, вы подразумевали под CLR) полностью отличается, но имеет большое сходство с МФЦ из своей базовой структуры. Это, безусловно, самый простой в использовании, но требует .NET Framework, который может или не может быть помехой в вашем случае.
Моя рекомендация: если вам нужно избегать .NET, тогда используйте MFC, в противном случае используйте .NET (в На самом деле, в этом случае я бы использовал C #, так как с ним гораздо проще работать).
Что касается C ++, я бы использовал WTL. Это облегченный вариант, и у вас будет немного (если таковые имеются) зависимости, что облегчит доставку и установку. Мне очень приятно, когда мое приложение состоит из одного EXE-файла, который будет работать в большинстве версий Windows, но это может вас не беспокоить.
Если вы решите перейти на .NET, тогда C # почти наверняка
Подробнее о WTL здесь:
Мне было бы очень любопытно, почему вы вообще делаете это в C ++. Исходя из вашего краткого описания, C # звучит как гораздо более подходящий выбор.
Просто для пояснения, посмотрите на ссылку, которую вы дали для описания C ++ CLR. Ответы с самым высоким рейтингом отмечают (точно, на мой взгляд), что C ++ подходит для «ядра, игр, высокопроизводительных и серверных приложений» - ни один из которых не описывает то, что вы делаете.
MFC, ATL и т. Д. будет поддерживаться в том смысле, что да, вы сможете скомпилировать свое приложение в будущих версиях Visual Studio и запускать их в будущих версиях Windows. Но они не поддерживаются в том смысле, что в API или языке не так много новых разработок, как в CLR и C #.
С CLR все в порядке. Как и другие здесь, я бы предложил C #, но у вас есть причины придерживаться C ++, поэтому использование .NET Framework в несколько тысяч раз проще, чем возиться с ATL / MFC, если вы еще не знакомы с ними (IMO).
Возможно, стоит упомянуть, что если вы используете C ++ / CLR, то вы вообще не используете C ++. C ++ / CLR компилируется в CIL так же, как C #. Я никогда не использовал его сам, но считаю, что его цель - дать вам возможность скомпилировать устаревший код и сделать его легко доступным для нового кода .NET, а не позволять новому коду работать со старыми исполняемыми файлами C ++. Существуют и другие методы вызова нативного кода из .NET, которые, возможно, вам следует изучить.