Forum Replies Created
-
AuthorPosts
-
TCountParticipant'ivanov-m2' wrote:
Хуки не помогают.
Может демку покажете?
TCountParticipantНе знаю, поможет или нет, с меню не работаю, но можно попробовать установить хуки на добавляемые пункты меню:
sskinmanager1.SkinableMenus.HookItem(…);
TCountParticipant'Support' wrote:Стиль отрисовки нельзя выбрать, если текстура хранится в отдельном файле, я это поправлю.
Если текстура хранится в MasterBitmap, то там есть разные стили отрисовки.
Теперь понятно. Просто если текстуру пихать в MasterBitmap, то не всегда можно удачно сэкономить пространство в нем.
А насчет ограничения размера, надеюсь, тоже будут поправки. Хотя может это и не обязательно.
TCountParticipant'Support' wrote:Да, это стандартное поведение. 🙂
По-моему, не совсем адекватное 😆
December 14, 2014 at 10:45 am in reply to: В XE7 невозвожно редактирование TActionList, если TActionList.Images = TsAlphaImageList #52910TCountParticipant'Acetylator' wrote:Обновился до Delphi XE7, неожиданно случилась засада:
если на форму кинуть TActionList и в качестве источника глифов (TActionList.Images) указать компонент TsAlphaImageList, то по двойному клику на TActionList не происходит ничего – редактирование акций невозможно. Если TActionList.Images сделать пустым, то по двойному клику открывается редактор акций. Если теперь опять записать в TActionList.Images источник типа TsAlphaImageList, то выскакивает Exception: Stream read error. При этом, однако, для каждой акции можно редактировать TAction.ImageIndex, при нажатии на комбобокс Object Inspector выпадает список глифов и в принципе, все работает. В итоге, в принципе, если перед открытием редактора акций обнулять TActionList.Images, а потом возвращать его снова, то работать можно, однако это не есть гуд и довольно геморройно.
П.С. Если в качестве TActionList.Images назначить стандартный TImageList, то все работает, однако стандартным компонентом ввиду его убогости я пользоваться не хочу.
Версия Delphi: Delphi XE7 Version 21.0.17707.5020 (+Update 1). AlphaControls 9.18. Win 7.
Есть идеи? У кого такая же конфигурация – проверьте, пожалуйста, есть ли у вас такая же проблема?
Спасибо!
Подтверждаю, есть такая неприятность в XE7. Альтернативу подкинуть не могу, так как никогда не пользуюсь ActionList.
December 14, 2014 at 10:40 am in reply to: Утекает память при разворачивании/сворачивании формы #52912TCountParticipant'Stertor' wrote:Показывает. Для этого надо настроить его на FullDebugMode (см. FastMM4Options.inc) и отключить зависимость от встроенного отладчика среды. В этом режиме придётся таскать с проектом библиотеку FastMM_FullDebugMode.dll
в самом проекте выше всех модулей пишем (uses) fastmm4,fastmm4messages.
Это понятно) Мне нужно было написать, что в данном архиве при запуске Exe утечки не покажет) Вобщем, не важно.
December 13, 2014 at 12:30 pm in reply to: Утекает память при разворачивании/сворачивании формы #52905TCountParticipant'Support' wrote:Спасибо. Оказывается, зависит еще от версии Delphi, буду искать причину утечки.
А вы на какой версии пакет создаете, если не секрет?
December 13, 2014 at 8:16 am in reply to: Утекает память при разворачивании/сворачивании формы #52903TCountParticipant'Support' wrote:Что-то не получается получить утечку памяти. Можете сделать и выложить демку? Спасибо.
Да все просто – пустая форма с SkinManager и SkinProvider. Свернуть и развернуть окно, потом закрыть и получаем утечку.
Вот, если нужно, демо. На всякий случай закинул в архив FastMM.
P.S. Чтобы увидеть конкретные утечки, нужно проект запускать из Delphi. Exe утечки не показывает.
TCountParticipant'vadim_ck' wrote:или я что то не понимаю или так и не работает. Вы не могли бы сами отредачить и скинуть мне?
Спасибо
TCountParticipant'vadim_ck' wrote:при клике на форму должно рисовать.
В MouseDown вместо Repaint() нужно сделать RepaintForms SkinManager'a:
sSkinmanager1.RepaintForms(true);
Должны в месте нажатия появляться кружки. Только снова хочу обратить внимание на “Mode” в OnPaint…
Если сделать эту переменную глобальной и убрать ее объявление как локальной в процедурах OnMouseDown и OnPaint, то все нормально.
Видимо, это просто какой-то глюк в AlphaControls, не знаю)
TCountParticipant'vadim_ck' wrote:да. но у меня не рисует по клику мышки. при клике должно рисовать эллипс.
Ну так и говорите, что при клике не рисует. Опишите точно, что Вам нужно) Если это клик, то клик по чему? по кнопке, по форме или по чему?
TCountParticipant'vadim_ck' wrote:Удалил. по прежнему не рисует.
Одно дело, если вообще не рисует, а другое дело – кривой код. Пробовали в событии OnPaint нарисовать что-нибудь? У Вас там было закомментирована в конце процедуры прорисовка эллипса и линий. Рисует же!
TCountParticipant'vadim_ck' wrote:вот проект. только скины по стандарту лежат в C:Skins
[attachment=6990:qw.rar]
Все рисуется, ошибка непосредственно в Вашем коде. Обратите внимание на строку в OnPaint формы:
Mode := ComboBox1.ItemIndex;
Именно она всему виной. Попробуйте ее удалить и увидите, что все прорисовывается. Так что, подумайте над этим:)
TCountParticipant'vadim_ck' wrote:Да. просто по заданию нужно на форме.
Демка есть? Потому что у меня все рисуется и не исчезает.
TCountParticipant'vadim_ck' wrote:Есть программа на делфи для рисования графов. Когда ставлю скин все нарисованные элементы становятся на задний план. как сделать так что бы все нарисованные элементы были на переднем плане?
Спасибо!
Если я правильно понял, Вы рисуете на форме. Если да, то лучше рисовать в PaintPox'е, который положить на форму.
December 9, 2014 at 2:40 pm in reply to: Утекает память при разворачивании/сворачивании формы #52880TCountParticipant'Stertor' wrote:FASTMM :a8:
Сейчас проверил – точно! есть такое) При включенном скинировании происходят утечки:
5 – 12 bytes: Unknown x 1
13 – 20 bytes: TList x 1
21 – 36 bytes: TPadding x 1, TMargins x 1, TPen x 1, TBrush x 2, TIconImage x 1, TTouchManager x 1, TSizeConstraints x 1, Unknown x 3
37 – 52 bytes: TGlassFrame x 1, TFont x 2
53 – 68 bytes: TIcon x 1
69 – 84 bytes: TControlScrollBar x 2
101 – 116 bytes: TControlCanvas x 1
149 – 164 bytes: Unknown x 1
917 – 1012 bytes: TForm x 1
December 9, 2014 at 1:51 pm in reply to: Утекает память при разворачивании/сворачивании формы #52878TCountParticipant'Stertor' wrote:Утечки памяти происходят только с включенным свойством SskinManager1->AnimEffects->Minimizing->Active.
Как определил утечку? FASTMM? Eureka?
TCountParticipant'Stertor' wrote:На ровном месте. Иногда, при заслонении окна. В частности, у меня в программе поток пишет в статус состояние прогресса (через Synchronize, естественно). Надпись пропадает; при заслонении окна, сворачивании/разворачивании проявляется вновь.
p.s.
Вы, сударь, изрядно пощекотали мне нервы – сказав, что hintmanager удалён из пакета. Я на Вас обижен. :blush:
Значит при обновлении только перерисовывается) нечто подобное у меня было раньше с TsEdit в некоторых случаях.
А насчет HintManager'a я ничего не говорил такого, я же не разраб) я предлагал использовать AlhaHints :a7:
TCountParticipant'Stertor' wrote:Заметил баг – sStatusBar не всегда хорошо прорисовывается, текст иногда самопроизвольно исчезает и вновь появляется (
Привет) Интересно, а заметил, в каких случаях такой баг проявляется? Ведь не может он появится, если просто запустить прогу и ничего не делать:)
TCountParticipant'kao' wrote:TCount, здравствуйте. Спасибо за помощь.
Я за основу взял скин “из коробки” Notes Wood. Мне он понравился тем, что в нем у скроллбаров нет кнопок-стрелок полос прокрутки.
Давайте рассмотрим именно этот скин, я на основе него сделаю потом свой. Я применил настройки как Вы написали:
+Форма не скинируется.
+Скроллбары стали как в скине.
-Стрелки у скроллбаров не исчезли (риснок 3).
На рисунке 4 показана отрисовка этого же скина в ASkinDemo.exe
Что я делаю не так? 🙂
Здравствуйте. Я так и не понял, чего Вы хотите) То Вам не нравилось, что форма скинируется, теперь наоборот получается)
Со скроллами я теперь понял, что нужно Вам. Лучше напишите по пунктам)
Кстати, стрелки на скроллбаре убираются в настройках SkinManager'a: SkinManager.ScrollOptions.ButtonsSize установить в 0.
-
AuthorPosts