WINXP 3D котнроллы

Тема в разделе "WASM.WIN32", создана пользователем 6opoDuJIo, 22 май 2009.

  1. 6opoDuJIo

    6opoDuJIo New Member

    Публикаций:
    0
    Регистрация:
    22 май 2009
    Сообщения:
    105
    подскажите как использовать 3D контроллы из WINXP?
    в моей литературе не описано использование 3D контроллов, только контроллы WIN98,которые напоминают мне о школе)
     
  2. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    Если ты про вот это: [​IMG]
    , то exe-шнику нужен manifest
    Это такая xml-фигня в ресурсах, use search.
     
  3. redcat

    redcat New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    62
    Создаешь файл xml (например, manifest.xml) со следующим текстом:
    Код (Text):
    1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    3. <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="CompanyName.ProductName.YourApplication" type="win32"/>
    4. <description>Your application description here.</description>
    5. <dependency>
    6.     <dependentAssembly>
    7.         <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"/>
    8.     </dependentAssembly>
    9. </dependency>
    10. </assembly>
    В файле ресурсов добавляешь строку:
    Код (Text):
    1. CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "manifest.xml"
     
  4. 6opoDuJIo

    6opoDuJIo New Member

    Публикаций:
    0
    Регистрация:
    22 май 2009
    Сообщения:
    105
    ага.и после добавления манифеста обычные контроллы становятсо XPшными?
     
  5. perez

    perez Member

    Публикаций:
    0
    Регистрация:
    25 апр 2005
    Сообщения:
    502
    Адрес:
    Moscow city
  6. 6opoDuJIo

    6opoDuJIo New Member

    Публикаций:
    0
    Регистрация:
    22 май 2009
    Сообщения:
    105
    спасибо
     
  7. 6opoDuJIo

    6opoDuJIo New Member

    Публикаций:
    0
    Регистрация:
    22 май 2009
    Сообщения:
    105
    ээм, неполучилось
    создал .xml документ с данным содержимым, и всадил в файл ресурсов нужную строку, но контроллы так и остались квадратными
     
  8. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    Ты ресурсы то эти вконпелировал вместе с остальным в ЕХЕшник? Покеж ЕХЕшник, покеж кодес.
     
  9. kealon

    kealon New Member

    Публикаций:
    0
    Регистрация:
    25 май 2009
    Сообщения:
    3
    Можно не включать в исполнимый файл манифест а положить его в папку с программой

    назвав его <MyProg>.exe.manifest
     
  10. 6opoDuJIo

    6opoDuJIo New Member

    Публикаций:
    0
    Регистрация:
    22 май 2009
    Сообщения:
    105
    ммм....я создаю контроллы функцией CreateWindow, в файле ресурсов описаны только менюхи и ссылка на манифест.манифест слит в отдельный файл, а компилил я MASM'ом
     
  11. redcat

    redcat New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    62
    Тогда придется таскать этот манифест вместе с exe-файлом, что не есть удобно.
     
  12. redcat

    redcat New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    62
    Думаю, вот это тебе поможет:
    #pragma comment(lib, "ComCtl32.Lib")

    #include <windows.h>
    #include <commctrl.h>
     
  13. redcat

    redcat New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    62
    Пропустил строчку ]#define _WIN32_WINNT 0x0501:
    Код (Text):
    1. #pragma comment(lib, "ComCtl32.Lib")
    2. [b]#define _WIN32_WINNT 0x0501[/b]
    3. #include <windows.h>
    4. #include <commctrl.h>
     
  14. 6opoDuJIo

    6opoDuJIo New Member

    Публикаций:
    0
    Регистрация:
    22 май 2009
    Сообщения:
    105
    мм это C++?или это надо в файл ресурсов добавлять?
     
  15. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    http://74.125.39.104/search?q=cache:-HqBkaDsUH0J:asm.shadrinsk.net/xp.htm
     
  16. redcat

    redcat New Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    62
    В заголовок обычно *.h или *.cpp

    Код (Text):
    1. #pragma comment(lib, "ComCtl32.Lib")
    2.  
    3. // Это опреджеление говорит о целевой версии WinXP
    4. // чтобы использовать библиотеку comctl именно 6-й версии.
    5. // Нужно добавлять до включения commctrl.h
    6. #define _WIN32_WINNT 0x0501
    7.  
    8. #include <windows.h>
    9. #include <commctrl.h>