Форум: "Потрепаться";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
ВнизПатчи на Delphi7 Найти похожие ветки
← →
Antonn © (2005-08-29 07:10) [0]выявился баг в Дельфи, вследствии чего возникла необходимость в патчах. Но прежде хотелось бы узнать у тех, кто уже пропатчил Дельфи. Баг следующий: при подключении WindowsXP.res(или использования TXPManifest) и включенном doublebuffered у формы, все панели на форме не перерисовываются. Т.е. при обновлении показывают то, что находится под ними(и под формой). Без панелей обойтись не могу и без поддержки стиля ХР тоже. Без doublebuffered все мерцает страшно(гораздо сильнее, чем без Манифеста). Скриншот(13Kb): http://an-files.narod.ru/_image/gluckkkk.GIF
Обращаюсь к уже пропатчившим, скажите пожайлуста, не наблюдается ли подобное? А может кто знает, как исправить это дело?
У самого Delphi 7.0 (build 4.453)
← →
Antonn © (2005-08-29 17:12) [1]упс
← →
Prohodil Mimo © (2005-08-30 00:25) [2]proboval u sebja tozhe na ne propatchenom, prozrachnosti ne poluchilos"... u menja prosto net pererisovki panelej, groupboxov, uglov u knopok, checkboxov i radiobuttonov i t.p.
jesli pomestit" komponenti na TScrollBox, tam vsjo normal"no :o)
← →
Antonn © (2005-08-30 05:24) [3]Prohodil Mimo © (30.08.05 0:25) [2]
u menja prosto net pererisovki panelej, groupboxov, uglov u knopok, checkboxov i radiobuttonov i t.p.
ну ла, не прозрачность а неперерисовка. Но не пихать же всюду ScrollBox:) Бфла идея панели покрыть PainBox"ами, и их репайнтить. Получалось - но этож идиотизм...
← →
Prohodil Mimo © (2005-08-30 11:48) [4]a v WindowsXP.res nichego nel"zja popravit"? Ili napisat" svoj Panel, nasledujas" ot predkov ScrollBoxa :o)
← →
Antonn © (2005-08-30 12:02) [5]Prohodil Mimo © (30.08.05 11:48) [4]
а в WindowsXP.res это (что-то типа этого):<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="DelphiApplication"
version="1.0.0.0"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>
Даже не знаю, что здесь можно подправить... Может где в сорсах inherited пропустили, или еще чего нибудь... Уже не знаю, что делать.
Товарищи пользователи D8 и выше, протестируйте, пожалуйста, на этих версиях эту ситуацию (положить на форму Panel, XPManifes и выставить у формы Doublebuffered:=true;)!
← →
passlight © (2005-08-30 12:42) [6]У меня D7 версии 7.0 (build 8.1), то есть с установленным 1-ым (и единственным) апдейтом. Указанная вами ситуация не воспроизводится. Но у меня тема в Windows "классическая"
← →
passlight © (2005-08-30 12:44) [7]Та-а-ак, а вот с неклассической темой не перерисовывается :(
← →
Antonn © (2005-08-30 13:03) [8]в общем, покопался в ExtCtrls.pas: если в constructor TCustomPanel.Create(AOwner: TComponent) закоментировать [csParentBackground], то панель перерисовается. С поддержкой визуальных тем. в справке сказано
csParentBackground - Use theme services to draw the parent"s background as the control"s own background. This option has no effect unless themes are enabled.
, значит если я его уберу, то панель должна рисоваться стандарной? Кстати, если его убрать, то мерцание не исчезает(и с включенным doublebuffered).
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c