Как создать BUTTON XP

Тема в разделе "WASM.BEGINNERS", создана пользователем skyproc, 21 дек 2009.

  1. skyproc

    skyproc New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    217
    Доброго всем времени суток.
    Как создать кнопку в стиле XP в Delphi Знаю, но вот в Asmе както не пришлось, хотя пишу на нетм н первый год.
    Так вот как собственно это реализовать.
     
  2. tyug

    tyug New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2008
    Сообщения:
    19
    Вроде так же как везде CreateWindowEx
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Подключить манифест к файлу рессурсов

    в делфи
    в MASM'е (рессурсе) дописать строку

    Скомпилировать рессурс через Borland Resource Compiler (Delphi6\Bin\)
     
  4. Crollspase

    Crollspase New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    75
    Во-первых, надо вызвать InitCommonControlsEx из библиотеки comctl32.dll.
    Для большинства случаев подходит такой вызов:
    Код (Text):
    1. .data
    2. ICC_S INITCOMMONCONTROLSEX <sizeof ICC_S,ICC_WIN95_CLASSES>
    3.  
    4. .code
    5. invoke InitCommonControlsEx,addr ICC_S
    Во-вторых: добавляешь в файл ресурсов (для MASM32 - rsrc.rc) файл XP_style.manifest (см. ниже XP_style.rar) следующим образом:

    Код (Text):
    1. <произвольный_идентификатор> 24 "XP_style.manifest"
    В-третьих: производишь компиляцию с файлом ресурсов (см. FAQ от FORUM WASM.RU)… и наслаждаешься красивым интерфейсом XP :) .

    Подробно обо всём этом можно почитать здесь: Enabling Visual Styles
     
  5. Crollspase

    Crollspase New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    75
    Код (Text):
    1. <произвольный_идентификатор>
    В смысле число.
     
  6. Crollspase

    Crollspase New Member

    Публикаций:
    0
    Регистрация:
    22 июн 2009
    Сообщения:
    75
    skyproc, ну что, получилось?
     
  7. skyproc

    skyproc New Member

    Публикаций:
    0
    Регистрация:
    4 май 2007
    Сообщения:
    217
    Да всё понятно всем спасибо!
    усё пашет

    push 0
    ;Выходим из программы
    call ExitProcess

    call InitCommonControlsEx