Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ListView с включенными темами XP глючит! [D6, WinXP]


Ogu ©   (2002-02-16 14:24:00) 

Привет всем! Кто-нибудь пользуется компонетом XPDesign? (При включении его в секцию Uses все стандартные элементы поддерживают темы XP). Все работает хорошо, только Listview в стиле vsReport глючит, вылетает ошибка в kernel32.dll, при том ее закрываешь а она снова вылетает и т.д. Кто знает как это лечится, может можно что-то подправит в исходных текстах ListView?


Ogu   (2002-02-18 20:36:00) [1]

Если судить по разнице во времени между Д5 и Д6 то раньше через год ждать Д7 наверно не стоит, а если она и выйдет в этом году то будет равна разве что Servis Packu а не полноценной версии.
А насчет ссылки выше - спасибо я ее прямо отсюда флэшгэтом и качнул, и весит немного, пока эту повесть писал она уже изакачалась.


Olgerd   (2002-02-18 11:52:00) [2]

Мало верится, что D7 выйдет так скоро, ещё на D6 не успел перейти.


Макс Черных   (2002-02-17 22:27:00) [3]

Ну, во первых, я не являюсь автором приведенного кода.
Это решение от Borland. Работает, проверено многократно.
По поводу XpBitButton не знаю, не смотрел, но проблема
точно не в XPDesign, так как последний просто добавляет
манифест в ресурсы.
Кстати неплохую реализацию компонентов, в достаточной
мере поддерживающих темы (тот же градиент в PageControl)
можно взять на Torry:
http://homepages.borland.com/torry/vcl/packs/interfacelite/xpcontrols.zip


Андрей Родин   (2002-02-17 21:43:00) [4]

СогласенЮ насчет XP и Delph должен быть отдельный разговор. Некоторые темы не работают абсолютно. Особенно те, что связаны с BDE, и базами данных. Конечно, возможно из исправление на локальных установленных версиях Delphi,но это связано с большими затратами врмени, по моему, проще подождать Delphi 7, в котором эти все глюки будут исправлены производителями.


Ogu   (2002-02-17 20:21:00) [5]

А как насчет XpBitButton? Кто-нибудь ее пробовал? У меня нормально не работает. Может проблема с XPDesign? Я как только перешел на XP во все проекты ее подключаю.


Ogu   (2002-02-17 20:18:00) [6]

Great Thanks to Макс Черных! Еще не пробовал твое решение но все равно спасибо за отклик. Надеюсь что все будет нормально. Best regards,
Владислав Огурцов


Макс Черных   (2002-02-17 14:02:00) [7]

2Poirot

Код приведен, естественно, для D5,D6.
По поводу D7.
Borland никогда не обьявляла да и не собирается обьявлять
планы выхода новых версий и upgrade.
Однако, это не военная тайна, и в конференциях на newsgroups.borland.comразработчики Delphi уже не раз
называли предполагаемые сроки, а именно:
1. D6 Update pack 2 - февраль-март 2002г.
2. D7 - Лето 2002г.
Обещают много чего интересного: #NET, XP и т.д.
Вот только скорей бы.


Poirot   (2002-02-17 02:59:00) [8]

Простите вы уже в последних строках своего письма о Delphi 7говорите... ЧТо так скоро выход. Или всёже о D6...


Макс Черных   (2002-02-17 01:36:00) [9]

Есть такой глюк.
Как лечить:
В ComCtrls.pas ищем
procedure TCustomListView.UpdateColumn(AnIndex: Integer);
в D6 это 15046 строка.
Находим место:
if FImageIndex <> -1 then
fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES;

Исправляем на:
if FImageIndex <> -1
then fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES
else mask := mask and not (LVCF_IMAGE);

И все. Вообще же с темами XP есть еще кое какие проблемы,
ну например, не рисуется градиент в PageControl.
Более менее нормальную поддержку Themes API обещают только
в D7, где то к концу лета.


Наверх

Титульная страница Поиск, карта сайта Написать письмо