![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Манифест в Windows XP [D5, D6, D7, WinXP]
API User © (2004-04-05 11:25:00)Столкнулся с одной интересной проблемой в Windows XP.
При подключении к проекту манифеста (как через Res файл, так и через внешний), не работает конструктор окна:
Т.е. :
hMainWnd := CreateDialog(hInstance, 'MAIN_DIALOG', 0, Nil)
Выдает всегда 0 Handle !
Если создавать окно не из ресурса, а напрямую через API все нормально для главного окна, а вот последующие контролы снова возврашают 0 Handle.
Если убрать манифест, или запускать программу в режиме совместимости с Windows 9X - работает нормально.
Вся заковырка была в следующем:
необходимо в событие WM_CREATE окна включать :
WM_CREATE:
begin
InitCommonControls;
...
end;
Процедура InitCommonControls находится в модуле CommCtrl.
Может кто прокомментирует, что делает процедура InitCommonControls ?
Cobalt (2004-05-12 10:31:00) [1]Написать баг-репорт в Майкрософт? ;-)
Я, по крайней мере, пишу баг-репорты тем компаниям, у которых обнаруживал баги (или веб-мастерам).
DVM (2004-05-12 00:43:00) [2]ListView в XP содержит много других ошибок (недочетов?) в реализации. Некоторые легко обнаружить:
В XP выключите пункт "отображать содержимое окна при перетаскивании" и перетащите значок на Рабочем столе. Надпись смещена вправо. Иногда она вообще пропадает. То же будет и с любым другим ListView - неправильно генерируется образ перетаскиваемого итема.
Может кто знает как победить?
Gero (2004-05-12 00:10:00) [3]
> OlegGashev © (11.05.04 23:53) [6]
Спасибо.
OlegGashev (2004-05-12 00:00:00) [4]Забыл добавить: d5.
Где, что изменял, уже не помню. У кого есть оригинальная версия файла, выложите разницу в файлах. Там всего пара добавленных строк.
OlegGashev (2004-05-11 23:53:00) [5]Исправленный comctrls.pas:
http://www.linkrepository.com/comctrls.zip
Gero (2004-05-11 23:45:00) [6]
> OlegGashev © (11.05.04 21:13)
> Работает, но его надо править.
А что именно в нем надо править, Вы в курсе?
У меня та же проблема, а как устранить - не знаю.
Игорь Шевченко (2004-05-11 23:28:00) [7]И не TListBox, а TListView.
Кстати, что интересно - в WinXP Rus без SP, Delphi 6 Personal все прекрасно работает :)
OlegGashev (2004-05-11 21:13:00) [8]Xerx © (11.05.04 20:28) [2]
Работает, но его надо править.
Xerx (2004-05-11 20:28:00) [9]А ещё не работает TListBox в режиме отчёта!
Игорь Шевченко (2004-04-05 11:34:00) [10]
> Может кто прокомментирует, что делает процедура InitCommonControls
> ?
Регистрирует оконные классы Common Controls