Визуальный стиль Windows XP

  1. [​IMG]
    Здесь я опишу как сделать так что бы элементы интерфейса программы приняли вид Windows XP, т.е. небыли плоскими и невзрачными [​IMG] Это конечно не моя собственная статья, а чужая. Но переделанная на мой лад, что бы люби более просто могли понять как это сделать. [​IMG] Оригинальная статья находится на сайте www.vbaccelerator.com
    Запустите Visual Basic 6 и создайте новый проект «Standart EXE», добавьте в проект новый модуль и впешите в э тот модуль следующий код:
    Код:
    Private Type tagInitCommonControlsEx
    lngSize As Long
    lngICC As Long
    End Type
    Private Declare Function InitCommonControlsEx Lib «comctl32.dll» _
    (iccex As tagInitCommonControlsEx) As Boolean
    Private Const ICC_USEREX_CLASSES = &H200
     Public Function InitCommonControlsVB() As Boolean
    On Error Resume Next
    Dim iccex As tagInitCommonControlsEx
    ‘ Ensure CC available:
    With iccex
    .lngSize = LenB(iccex)
    .lngICC = ICC_USEREX_CLASSES
    End With
    InitCommonControlsEx iccex
    InitCommonControlsVB = (Err.Number = 0)
    On Error Goto 0
    End Function
     Public Sub Main()
    InitCommonControlsVB
     '
    'Start your application here:
    '
     Form1.Show
     End Sub
    Дальше зайдите в меню: »Project – Project1 Properties…» . И в пункте «Стартового Обьекта» Выберите Sub Main. Раставьте на форму программы несколько элементов и скомпилируйте проект. После компиляции в папке с программой создайте текстовой файл и сохраните предварительно вписав в него следующие строки:
    Код:
    <?xml version=»1.0″ encoding=»UTF-8″ standalone=»yes» ?>
    <assembly xmlns=»urn:schemas-microsoft-com:asm.v1″ manifestVersion=»1.0″>
    <assemblyIdentity
    version=»1.0.0.0″
    processorArchitecture=»X86″
    name=»CompanyName.ProductName.YourAppName»
    type=»win32″ />
    <description>Your application description here</description>
    <dependency>
    <dependentAssembly>
    <assemblyIdentity
    type=»win32″
    name=»Microsoft.Windows.Common-Controls»
    version=»6.0.0.0″
    processorArchitecture=»X86″
    publicKeyToken=»6595b64144ccf1df»
    language=»*» />
    </dependentAssembly>
    </dependency>
    </assembly>
    Сохраните файл как Project1.exe.manifest
    Там где Project1 – имя файла вашей скомпилированной программы. После всего проделанного При запуске программы элементы должны отображаться идентично элементам Windows XP

    Так же можно для того чтобы не таскать лишние файлы с программой прицепить к проекту через штатную тузлу VB6 файл ресурсов с манифестом. Однако добавление модуля остаётся обязательным.

    Скачать исходники с примерами:
    [​IMG]
     
    2 пользователям это понравилось.
  2. lytgeygen, писал уже, но не в форме статьи))
    и кстати лучше манифест в Restorator добавить - и таскать файлы с собой не надо и вот эти строки:

    заполнит автоматически


    лишнее запостил(
     
  3. chimatii,
    Специально для тебя добавил пример с готовым RES файлом. А если нужно то строки можно изменить через reshack например