Forum Replies Created
-
AuthorPosts
-
fat_hamsterParticipant
получается AeroSnap полу-работает
я привык очень с монитора на монитор окно отцепить-перенести-прицепить – а отцепить не получается <img src="style_emoticons//sad.gif” style=”vertical-align:middle” emoid=”:(” border=”0″ alt=”sad.gif” />
fat_hamsterParticipantQUOTEУ меня тоже демка от АС6.66 не заработала, даже с отключенными ExtendedBorders. А вот демка от AC6.21 с AeroSnap заработала вполне нормально. По крайней мере распахнулась. Вернуть ее нормальный размер с помощью AeroShake мне не удалосьвсе еще страннее: окно разворачивается оказывается, просто нет эффекта виндового при касании верхней границы – просто тащим окно до упора вверх, отпускаем мышку – и оно разворачивается
и да, назад его “втянуть” не получается никак
на поведение не влияет ничего из перечисленного в моем пред. посте
w7/D2010/AC 6.66
fat_hamsterParticipantQUOTEfat_hamster, как ASkinDemo.exe работает?
вот так и работает – не работаеттестовый пример с скином комплектным, со всеми сочетаниями MainformOnTaskBar + ExtendedBorders + AllowExtBorders тоже не работает (в смысле окно не самораспахивается)
fat_hamsterParticipantа свежего мануала по созданию скинов нету?
скачал русский и англ из секции закачек – но он там ктознаетскольколетней давности, а где почитать про все эти extborders и прочее?..
fat_hamsterParticipantQUOTEНа самом деле тут лучше автору добавить парочку своих строчек)
и что именно надо добавить, не подскажете?QUOTEОтключите ExtendedBorders, должно заработать.
AC 6.66 – не заработалоначинаю рисовать новую прогу, и если в предыдущей отсутствие автораспахивания (кстати, какое слово гуглить по сабжу, ктото в курсе?..) не напрягало (фиксированное окно), то тут хотелось бы иметь (сам я уже очень привык например)
fat_hamsterParticipantта кнопка только для примера была.. в OnEnter пытался выделить весь текст, а не выделяется (что странно)
upd: мне уже просто интересно, чего я туплю, пробую тут по разному.. на OmMouseDown или OnClick текст выделяется – но при этом его нельзя потом выделить частично мышкой
fat_hamsterParticipantв самом деле.. погорячился..
какая-то фигня получается, зачем тогда этот метод.. вообще я хотел просто, чтобы текст в эдите выделялся, когда в эдит курсор попадает, а оно вон как получается
fat_hamsterParticipantчтото ничего не слышно про прыгание, а жаль
может быть бага связана с этим – если эдит дизаблить/энаблить, то текст в нем тоже на пиксель туда-сюда прыгает
приложил демо – на w7/D2010 скомиплено, текст “прыгает” когда чекбокс менять..
fat_hamsterParticipantQUOTEМой вариант чем не подошёл?
так тем, что не помогает – форма должна увеличить размер – сначала рисуется (дорисовывается) черный прямоугольник, потом прорисовываются контролы..я уже подумал, что пойду длинным путем – создавать какое-нибудь окно с новыми размерами, копировать туда содержимое формы, которая должна изменить размер + содержимое под ней, которое перерисуется; все это как-то “затенять”, под ним рисоваться, потом его убирать..
пробовать надо..
fat_hamsterParticipantвсе простые способы я уже перепробовал.. :'-(
я имею в виду – может есть какие-то AlphaControls-специфичные штуки-дрюки.. типа PrepareForAnim/AnimShowControl
fat_hamsterParticipantэто случайно не вот так вот, как на моей картинке?
[attachment=3651:bug.png]
меня тестеры этой багой заколебали, а что я им скажу.. повторяется очень нестабильно – бывает прогу запустишь, кнопку жмакнешь, и “упс!”.. а бывает за весь день не выскочит
и очень-очень редко повторяется на демке (с моим самопальным скином.. но другие я не “тестил” специально).. т.е. нельзя сказать, что исключительно мой код виноват
D2010/W7/посл. регеные AC (да и непоследние тоже)
fat_hamsterParticipantQUOTEЕсли быстро нажимать, то такое возможно, они могут накапливаться в массиве, но потом он очищается.ну не знаю.. не уверен чесноговоря.. каждая смена состояния моей кнопки (из-за чего я багу и заметил) добавляет +1 к кол-ву gdi-обьектов; да, иногда успеваю замечать , что счетчик увеличивается на бОльшее количество, потом уменьшается, но прирост в +1 остается все время (и никуда не исчезает со временем)
в общем, оно и не очень критично; с другой стороны, для красоты (а больше для плавности) я использую эту связку (prepare../animshow..) часто при изменении интерфейса.. вдруг юзер “засидится” с программой настолько, что обьекты gdi закончатся <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />
fat_hamsterParticipantи кстати, вот вам бага:
берем тестовый проект из архива
[attachment=3593:bug_rep.zip]
компилим (w7/vista, D2010, AC 6.47), запускаем, смотрим на шедевр дизайнерской мысли, щелкаем по чек-боксу – закладки плавно переключаются, нигде не написано, что так делать нельзя
CODE
PrepareForAnimation(pc1);
try
if cb1.Checked then
pc1.ActivePageIndex := 0 else
pc1.ActivePageIndex := 1;
finally
AnimShowControl(pc1, 200);
end;если при этом наблюдать за счетчиком GDI обьектов в таск-менеджере, то видим, что они растут на неск. штук за каждый вызов Prepare/Anim..
fat_hamsterParticipantо, спсб!
я совместил оба совета,
CODEPrepareForAnimation(FForm.btnAbortConversion);
try
if FHot then
begin
FForm.btnAbortConversion.Perform(CM_MOUSELEAVE, 0, 0);
FHot := false;
end else begin
FForm.btnAbortConversion.Perform(CM_MOUSEENTER, 0, 0);
FHot := true;
end;
finally
AnimShowControl(FForm.btnAbortConversion, 250);
end;
получилось неплохо (а главное минут за 5 всего, а тестеры довольны) <img src="style_emoticons//smile.gif” style=”vertical-align:middle” emoid=”:)” border=”0″ alt=”smile.gif” />November 16, 2009 at 1:33 pm in reply to: TComboEdit, кажется баг с enable у внутренней кнопки #41084fat_hamsterParticipantгм.. может я погорячился.. а может и нет
.Button.Enabled устанавливает enable-ность кнопки внутренней; может есть смысл по умолчанию менять его вместе с “родительской” енабленостью?..
и вообще скорее всего все же бага: 1) в одном месте меняю enabled у контрола, но кнопка не дизаблится; в другом месте меняю – дизаблится
и даже если кнопку сказать отдельно enabled = true, она все равно на щелчки не реагирует, так какой тогда смысл?..
ну в общем разрабам решать, что с ней сделать..
fat_hamsterParticipantблин, сложно все как..
(AC 6.47) положил просто на форму эдит, чтоб поиграться/поотлаживать – не прыгает; открываю демо-пример – прыгает
пока в общем методом научного тыка вытыкал – если у скин-менеджера стоит AnimEffects-PageChange – текстовки прыгают при переключении страниц у контролов, которые на этих страницах
upd: или если у скинменеджера стоит ExtendedBorders
fat_hamsterParticipantQUOTEА в какой момент текст прыгает? Точно когда мышь проходит сверху?.. по разному; например, есть табконтрол, так на эдите текстовка прыгает на 1 пх вверх при переключении на закладку.. но если спрятать программно, а потом показать закладку, то текст на месте остается, пока мышка не попадет на контрол, без разницы, сверху или снизу…
QUOTEКстати, начиная с Delphi 2009, ключ TNTUNICODE не имеет смысла, там сам тип строк уже юникодный и везде есть поддержка его по-умолчанию.
ну я ж говорю, что раньше так было.. как щас – посмотрювроде придавил начальство, пообещали купить исходники
upd: лучше один раз увидеть…
[attachment=3548:capture_1.zip]
это запись – как ведет себя демо-пример, скомпиленный в D2010
fat_hamsterParticipantда, любой проект, думаю не только D2010, а просто с поддержкой юникода (потому что я про эти прыгающие эдиты рапортовал очень давно), под Vista/w7 (ладно б только w7, когда там она еще выходит.. хотя через пару дней на самом деле то.. но виста тоже глючит)
[off]я рапортовал про эту багу очень давно, но тогда отрапортовал и забыл, потому что делал наследников эдита и там пофиксил.. но что фиксил – не восстановлю, потому что была длинная пауза, потом дизайн переделывался, часть тех исходников выбросилась по разным причинам.. где-то что-то совсем простое – в той ветке ifdef-а, которая рисовала в юникоде, где-то лишний пиксел фигурировал.. или в функции определения прямоугольника, типа BorderRect.. PaintBorder..; или в функции с названием типа OutPaintHandler, не помню уже ничего хоть застрелись.. ну и поменялось наверное с тех пор уже много, тогда еще TNTControls там использовались…[/off]
fat_hamsterParticipantQUOTEQUOTE
То есть ASkinDemo нужно не просто запустить, а перекомпилировать с TNTUNICODE?дык конечно wink.gif
ну может я выразился неправильно; я имел в виду, что для того, чтобы увидеть такое поведение, демо-проект нужно обязательно перекомпилировать
т.е. если просто скачать пример с сайта – на нем ничего не прыгает (т.к. скорее всего он скомпилирован с компонентами, которые скомпилированны БЕЗ юникода)
fat_hamsterParticipant