Форум: "WinAPI";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];
Вниз
Как под WinXP поставить на форму стандартные контролы? Найти похожие ветки
← →
REaliSt (2002-06-23 05:09) [0]Привет. Вот вопросик тут есть.
Как мне поместить на форму (можно в RunTime) кнопки и прогрессбар в стиле
Windows XP. Знаю, что в VCL такого нет. А есть ли в WinApi ф-ция для создания контролла на окне?
Заранее спасибо.
← →
Gandalf (2002-06-23 11:53) [1]Давай по порядку.
1. Что-бы страндартные контролы VCL выглядели ново - надо просто добавить XP-манифест (такой ресурс файл - если нужно пиши).
2. Причем это только в run-time для design-time надо саму прогу манифестить (т.е. Delphi) это тоже возможно при помощи PExplorer (вроде так - могу дать линк).
3. Для создания контрола есть функции (CreateWindowEx), но для XP вид без манифеста это утопия (толь если ты сам его не рисуешь - но это тяжко, если грамотно)
Удачи
← →
Юрий Зотов (2002-06-23 11:56) [2]> Как мне поместить на форму (можно в RunTime) кнопки и
> прогрессбар в стиле Windows XP.
Очень просто - поставить Windows XP. Сразу все в ее стиле и станет.
> Знаю, что в VCL такого нет.
А в VCL вообще нет ни одного оконного контрола, она их все из системных библиотек берет. Поэтому какая система - такие и контролы.
> А есть ли в WinApi ф-ция для создания контролла на окне?
Есть, даже две. CreateWindow и CreateWindowEx называются. Не поверите, но VCL именно их и использует.
← →
rhf (2002-06-23 13:18) [3]2 Юрий Зотов
например диалоги открытия, сохранения и.т. при компиляции в d3 получаються совссем не такими как в системе ...
а если сделать их самому на апи, то все нормально.....
← →
Юрий Зотов (2002-06-23 14:29) [4]Естественно. Старушка D3 просто ничего не знает о новых наворотах, поэтому их и не использует. И плоские скроллбары, наверное, ей тоже недоступны - а в D5 включена их поддержка. И т. д. - таких примеров можно привести целую кучу. А если посмотреть CommCtrl, то даже и в D5 там нет новых стилей и прочих констант, которые появились, например, в СommCtrl32.dll v5.81 и позже. Ну и что? Ничего. Я тут тулбар писал, взял эти константы из документации, объявил их у себя - и все OK. Это естественно. Но суть-то не меняется - все равно все эти контролы берутся из системных библиотек, и если они старые, то хоть лопни, но новых стилей не добьешься. Скажем, под NT ну никак стиль XP не получишь, что ни делай. Только библиотеки обновлять - если MS дает такой SP.
← →
Proton (2002-06-23 15:08) [5]Откомпиль вот этот фыайл
---- cut - xp_style.rc -----
/****************************************************************************
xp_style.rc
produced by Borland Resource Workshop
*****************************************************************************/
LANGUAGE LANG_RUSSIAN,1
1 24 LOADONCALL MOVEABLE
{
"3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31"
"2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D 22 55 54"
"46 2D 38 22 20 73 74 61 6E 64 61 6C 6F 6E 65 3D"
"22 79 65 73 22 3F 3E 0D 0A 3C 61 73 73 65 6D 62"
"6C 79 20 78 6D 6C 6E 73 3D 22 75 72 6E 3A 73 63"
"68 65 6D 61 73 2D 6D 69 63 72 6F 73 6F 66 74 2D"
"63 6F 6D 3A 61 73 6D 2E 76 31 22 20 6D 61 6E 69"
"66 65 73 74 56 65 72 73 69 6F 6E 3D 22 31 2E 30"
"22 3E 0D 0A 3C 61 73 73 65 6D 62 6C 79 49 64 65"
"6E 74 69 74 79 0D 0A 20 20 20 20 6E 61 6D 65 3D"
"22 53 4B 2E 53 74 61 66 66 2E 43 6C 69 65 6E 74"
"22 0D 0A 20 20 20 20 70 72 6F 63 65 73 73 6F 72"
"41 72 63 68 69 74 65 63 74 75 72 65 3D 22 78 38"
"36 22 0D 0A 20 20 20 20 76 65 72 73 69 6F 6E 3D"
"22 35 2E 31 2E 30 2E 30 22 0D 0A 20 20 20 20 74"
"79 70 65 3D 22 77 69 6E 33 32 22 2F 3E 0D 0A 3C"
"64 65 73 63 72 69 70 74 69 6F 6E 3E 53 74 61 66"
"66 3C 2F 64 65 73 63 72 69 70 74 69 6F 6E 3E 0D"
"0A 3C 64 65 70 65 6E 64 65 6E 63 79 3E 0D 0A 20"
"20 20 20 3C 64 65 70 65 6E 64 65 6E 74 41 73 73"
"65 6D 62 6C 79 3E 0D 0A 20 20 20 20 20 20 20 20"
"3C 61 73 73 65 6D 62 6C 79 49 64 65 6E 74 69 74"
"79 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 74"
"79 70 65 3D 22 77 69 6E 33 32 22 0D 0A 20 20 20"
"20 20 20 20 20 20 20 20 20 6E 61 6D 65 3D 22 4D"
"69 63 72 6F 73 6F 66 74 2E 57 69 6E 64 6F 77 73"
"2E 43 6F 6D 6D 6F 6E 2D 43 6F 6E 74 72 6F 6C 73"
"22 0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 76"
"65 72 73 69 6F 6E 3D 22 36 2E 30 2E 30 2E 30 22"
"0D 0A 20 20 20 20 20 20 20 20 20 20 20 20 70 72"
"6F 63 65 73 73 6F 72 41 72 63 68 69 74 65 63 74"
"75 72 65 3D 22 78 38 36 22 0D 0A 20 20 20 20 20"
"20 20 20 20 20 20 20 70 75 62 6C 69 63 4B 65 79"
"54 6F 6B 65 6E 3D 22 36 35 39 35 62 36 34 31 34"
"34 63 63 66 31 64 66 22 0D 0A 20 20 20 20 20 20"
"20 20 20 20 20 20 6C 61 6E 67 75 61 67 65 3D 22"
"2A 22 0D 0A 20 20 20 20 20 20 20 20 2F 3E 0D 0A"
"20 20 20 20 3C 2F 64 65 70 65 6E 64 65 6E 74 41"
"73 73 65 6D 62 6C 79 3E 0D 0A 3C 2F 64 65 70 65"
"6E 64 65 6E 63 79 3E 0D 0A 3C 2F 61 73 73 65 6D"
"62 6C 79 3E 0D 0A"
}
-- и в проге допиши ----
{$R XP_STYLE.RES}
← →
REaliSt (2002-06-24 05:23) [6]2 Юрий Зотов
Дело в том, что у меня итак стоят WinXP Home и Professional
Так вот, что я в Delphi не делал, не могу такой стиль получить.
Помещаем на форму кнопку TButton. Это получится кнопка как в 98.
А хотелось бы кнопку как в стандартных XP-диалогах.
2 rhf
Да, думаю только на АПИ
2 Proton
Спасибо, попробую.
← →
REaliSt (2002-06-24 05:43) [7]2 Proton
thank you
Все работает ОК!!!!!
Благодарю
← →
v0id (2002-06-24 08:28) [8]Или вот так:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Program"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>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>
Только надо будет это сохранить как res файл (в VC++).
← →
Proton (2002-06-24 10:27) [9]А с ListView пробывал - у меня ошибка в ядре выскакивает если мышкой наводиш. (да у меня там чек боксы включены)
Я как понял что не судьба делфям 5м с новыми стилями работать.
Плюнул и все убрал.
> REaliSt © (24.06.02 05:43)
> 2 Proton
> thank you
> Все работает ОК!!!!!
> Благодарю
Очень рад что помог.
> v0id © (24.06.02 08:28)
> Или вот так:
Вообщем это то же самое .
Главно правильно это в рес запихнуть.
А по скольку он такое уже пробывал и у него не вышло кинул этот RC
← →
Gandalf (2002-06-24 12:05) [10]Еще компонент есть XPDesign (просто подключает res файл).
Да у меня с ListView таже трабла - причем при использовании ReportView. Кто нибудь знает как вылечить?
← →
REaliSt (2002-06-24 17:31) [11]>Да у меня с ListView таже трабла - причем при использовании >ReportView. Кто нибудь знает как вылечить?
Думаю дело именно в Delphi 5. У меня в 6-х все вроде б работает.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.008 c