Forum Replies Created
-
AuthorPosts
-
Dmitro25Participant'VahaC' wrote:
Искать не пробовали?
Да, я увидел указанную тему (правда, уже после написания мною сообщения, поэтому его пришлось подкорректировать). Но у меня наблюдается ещё другая проблема, связанная с неправильной отрисовкой формы, прикреплённой к панели. К тому же, в указанном Вами сообщении есть упоминание, что все выявленные недочёты исправлены в версии 9.02, а её пока нет в доступе для скачивания.
November 25, 2013 at 1:02 pm in reply to: Перестали скинироваться стандартные контролы на унаследованных формах #51181Dmitro25Participant'Support' wrote:Могу. До недавнего времени, чтобы определить нужно ли шкурить контрол, просто проверялось его свойство Tag на равенство числу -98.
…
Спасибо за ответ. Из текста я не полностью понял, если что поправьте меня, но признаком того, что Third party control НЕ ДОЛЖЕН быть зашкурен являлось свойство Tag=-98? Теперь по другому: ((Tag and -98) <> 0), а в будущем планируется (Tag and (1 shl bit) <> 0).
Извините за поучение, но лучше всё же отразить это где-то в документации, а то такое поведение с зашкуриванием контролов кажется непосвящённым непонятным и неприятным сюрпризом.
November 25, 2013 at 8:20 am in reply to: Перестали скинироваться стандартные контролы на унаследованных формах #51169Dmitro25ParticipantSupport
Благодарю за совет по поводу изменения совйства Tag. Действительно, если Tag кнопки установить в 0, то всё начинает скинироваться нормально.
Прошу прощения, а не могли бы Вы меня просветить по поводу такого странного поведения, связанного с Tag? Просто по Вашим ответам я не всё понял. Понял, что вроде бы проводится какая-то проверка этого свойства у компонентов и по результатам они либо скинируются, либо нет. В хелпе попытался про Tag поискать – не дало полезных результатов. Дело в том, что в версии 8.47 AC всё работало без особенной установки свойства Tag. И сейчас работает, если только форма не унаследована. Это поведение касается торлько унаследованных форм? Я просто иногда у некоторых своих контролов использую Tag для своих собственных целей – вот и интересуюсь, насколько безопасно продолжать использовать это свойство в дальнейшем, если в проектах используются АС?
Dmitro25ParticipantЗаработало, спасибо
November 19, 2013 at 4:00 am in reply to: Перестали скинироваться стандартные контролы на унаследованных формах #51112Dmitro25ParticipantSupport
Я не понял, Ваш ответ попал не в ту тему?
November 14, 2013 at 10:12 am in reply to: Перестали скинироваться стандартные контролы на унаследованных формах #51062Dmitro25ParticipantЧтобы не быть голословным – вот снял скриншот модальной формы, которая появляется при нажатии кнопки “Show Form” основной формы программы, как он выглядит на моём компьютере. Кнопка “Ок” не скинируется.
Если у Вас не так – может быть, дело в версии Windows? У меня Windows XP.
PS: Проверил на виртуальной машине Windows 7. Тот же самый результат – скинирование кнопки отсутствует.
Dmitro25ParticipantПопробовал версию 8.47, сейчас 8.49.
Запрещение пункта системного меню закрытия окна по прежнему не работает, если sSkinManager.Active=True.
Когда скинирование неактивно – запрет работает нормально.
Dmitro25ParticipantСпасибо за совет.
Разрешите в ответ спросить, а нельзя ли функцию RepaintMenu() внести также и в TsSkinManager. Дело в том, что в своём приложении я использую один-единственный скин. TsSkinProvider мне, выходит, не нужен. А перерисовывать меню по команде приходится. Сейчас я выхожу из положения, используя TsSkinManager.RepaintForms(), однако, как я подозреваю, эта функция делает больше, чем просто перерисовка главного меню.Dmitro25ParticipantВерсия 6.41. Проблема, похоже, решена.
Увидел другой глюк с TsComboBox: иногда у выпадающего списка не отрисовывается вертикальный ScrollBar. Пока гарантированно повторить не могу (в смысле, воспроизвести последовательность действий), но эффект встречался уже несколько раз. Выглядит это так: у выпадающего списка нет ScrollBar'a, в том месте, где он должен быть, просто видна форма-владелец контрола. Однако, на кликанье мыши от отзывается нормально, хотя на экране даже после этого не появляется.Dmitro25ParticipantНу, с двумя мониторами я что-то такое подозревал, но пока эксплуатация программы ожидается только в одно мониторной конфигурации.
Этот путь показа модального окна показался мне самым лучшим. Необходимо было, чтобы в какой-то момент работы программы на экране оставалось только определённое окно, которое не является MainForm. И вот тут начались проблемы. Если скрывать основное окно, пользуясь свойством Visible или функцией ShowWindow, появляются побочные эффекты, например, неожиданное появление MainForm после щелчка на кнопке на TaskBar'e, если предварительно свернуть все окна. Если же делать искусственную модальность (MainForm.Enabled = false; MyForm.Show), то при некоторых условиях после закрытия MyForm свойство Screen.ActiveForm остаётся равным MyForm, а не MainForm и т.д.
Самым простым оказалось перемещать MainForm за пределы экрана, вызывать модальное окно стандартным способом, а затем снова восстанавливать координаты MainForm.
Модальное окно у меня, кстати, за экран не уходит, хотя у него свойство Position=poMainFormCenter
Демка есть, прикладываю к сообщению. При желании могу включить в неё и исполняемый файл. -
AuthorPosts