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

Discussion in 'WASM.BEGINNERS' started by skyproc, Dec 21, 2009.

  1. skyproc

    skyproc New Member

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

    tyug New Member

    Blog Posts:
    0
    Joined:
    Oct 26, 2008
    Messages:
    19
    Вроде так же как везде CreateWindowEx
     
  3. JCronuz

    JCronuz New Member

    Blog Posts:
    0
    Joined:
    Sep 26, 2007
    Messages:
    1,240
    Location:
    Russia
    Подключить манифест к файлу рессурсов

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

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

    Crollspase New Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    75
    Во-первых, надо вызвать InitCommonControlsEx из библиотеки comctl32.dll.
    Для большинства случаев подходит такой вызов:
    Code (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) следующим образом:

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

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

    Crollspase New Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    75
    Code (Text):
    1. <произвольный_идентификатор>
    В смысле число.
     
  6. Crollspase

    Crollspase New Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    75
    skyproc, ну что, получилось?
     
  7. skyproc

    skyproc New Member

    Blog Posts:
    0
    Joined:
    May 4, 2007
    Messages:
    217
    Да всё понятно всем спасибо!
    усё пашет

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

    call InitCommonControlsEx