Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > как исправить некрасивость иконок на кнопках при н


Автор: desivers 14.4.2007, 00:22
как исправить некрасивость иконок на кнопках при неактивном состоянии, вот в builder они просто серые а своем приложении они серые но и еще с окантовкой чтоли, вообщем уродские, гдето я видел код для таких вот исправлений но найти не могу.

Автор: Klin 14.4.2007, 11:31
Сорри, за ошибку не понял, что именно нужно.
Делается так:
1) Создаеться файл к примеру mydata.bin, в нем пишеться:
Код

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="5.1.0.0"
    processorArchitecture="x86"
    name="Имя программы"
    type="win32"
/>
<description>Описание программы</description>
<dependency>
    <dependentAssembly>
    <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        processorArchitecture="x86"
        publicKeyToken="6595b64144ccf1df"
        language="*"
    />
</dependentAssembly>
</dependency>
</assembly>

Изменяются в строке 6 и 9 имя и описание программы 
2) Создаеться файл (к примеру "styleXP" с расширением rc и в нем пишется:
Код

1                       24      MOVEABLE PURE   "mydata.bin"

3) Создается res файл, для этого используется brcc32 он находиться в директроии билдера в папке Bin. Кидаем на него наш файл "styleXP.rc" и получаем res фал
4) прописываем в программе: 
Код

#pragma resource "styleXP.res"

5) Компилируем

Автор: Klin 14.4.2007, 16:40
Или вот готовый файл:


Автор: desivers 14.4.2007, 18:15
вот как должно быть и как у меня вот хотелось бы такие же.

Автор: Usper 14.4.2007, 18:17
Хм, возможно поможет тот факт, что стандартные борландовские рисунки для кнопок содержат как бы два рисунка: для активной и неактивной кнопки.

Автор: Klin 14.4.2007, 20:14
Цитата(Usper @  14.4.2007,  19:17 Найти цитируемый пост)
стандартные борландовские рисунки для кнопок содержат как бы два рисунка: для активной и неактивной кнопки. 
 Они вообще динамически добавляются ( и изменяются).

Что-то я совсем запутался, тебя в самом билдере неустраивают кнопки или в твоей программе тебя что-то смущает? Если в билдере - забудь про эту идею, т.к. нигде патчей или чего-то подобного для улучшения я не видел. Если ты говоришь о кнопка к в программе на ToolBar`е, то ты сам можешь их изменить.

Автор: desivers 14.4.2007, 21:01
а как? если каждую перерисовать нужно то я не художник, а про код я гдето видел но где, уже сотню сайтов перерыл.

Автор: Usper 14.4.2007, 21:41
Какой компонент для кнопок используешь? SpeedButton? В качестве рисунка используешь bmp файл, у которого ширина в два раза больше чем высота. На левой половине рисуешь иконку активной кнопки, на правой - неактивной. Соответственно как нарисуешь неактивную иконку, так она и будет выглядеть. Здесь диск:\Program Files\common files\Borland Shared\Images\Buttons можно посмотреть примеры как это сделано в борланде.

Автор: Klin 14.4.2007, 23:28
Цитата(desivers @  14.4.2007,  22:01 Найти цитируемый пост)
если каждую перерисовать нужно то я не художник, 

Ты сам привел примеры этих кнопок, осталось просто вырезать каждую. А для их добавления, используй компонент ImageList. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)