-
Прислали скриншот на котором в программе не видны кнопки со статусом Enabled = false, т.е. вместо того чтобы "дизейблиться" кнопка пропадает (остается видимым небольшой "артефакт" в виде символа подчеркивания на месте Caption-а).
Что это может быть? Кто-то сталкивался?
Прога на Delphi 7. Кнопка простая типа TButton. Используется манифест (важно т.к. на скриншоте "настроечной" утилитки без него такие нормально видны в дизейбленном виде). Замечено на оси Windows 7.
Причем люди не видят в этом проблемы, говорят "у нас бывает, не только в вашей программе", но мне как бы самому интересно, особенно если можно исправить (не менять все на TBitBtn, а с тем что есть. т.е. не уйти о нее, а решить, разобраться в причине, а то может не только на кнопки влияет...).
-
Может стоит тема какая-нибудь хитрая, где цвет задизабленной кнопки совпадает с цветом фона.
-
Было предположение, что типа яркость вывернута так что серый фон сливается со светло серым, но "артефакт" яркого черного цвета, такого же как символы на соседней активной... Т.е. с "цветами" это вряд ли. Тогда бы ничего видно не было (на дизейбленных нет яркого, да и символа подчеркивания тоже, также в каптионе нет символа &)
Но тема действительно отличается от стандартной(аэро) и классической (as 2000-ый), не знаю какая (и не узнаю, т.к. "та сторона" просто отмахивается, типа "ну не видно кнопок на которые нельзя нажимать, ну и что, проблема была бы если было не видно тех на которые можно...").
-
> [1] Омлет © (08.09.10 10:39) > Может стоит тема какая-нибудь хитрая, где цвет задизабленной > кнопки совпадает с цветом фона.
Бывают любители ручками цвета покрутить, криво естественно.
-
Интересно бы на скриншот глянуть.
-
Удалено модератором
-
Удалено модератором
-
> Интересно бы на скриншот глянуть. Придет человек на компе которого его видел попрошу переслать мне, выложу.
> Может быть просто программа в это время не отвечала и не перерисовывались окна? И при этом осуществляла ввод, и после корректных данных "енейблила" кнопку и она становилась видимой... Нет. Было бы все так просто не спрашивал бы. И потом это не единичный случай (судя по их реакции), и не в единственной программе программе.
-
-
Похоже, но... Alt не нажимают, вообще все действия мышкой, и контролы пропадают только "дизейбленные" (и появляются при "раздизейбливании" также без нажатий). а тут вроде про обычные речь.
Но может, вариация (если от видео зависит), может там на компе Alt залип... В любом случае проверю (как понял должно повториться и на другом висте/7, если Alt зажать. т.е. это уже можно проверять, не скриншот ;)).
-
Дык.. кнопки, поди, имеют самописные иконки (glyph).. можно так нарисовать, что кадр рисунка для статуса disable просто не будет виден, либо виден частично - > небольшой "артефакт"
-
> MonoLife © (09.09.10 08:34) [10] > Дык.. кнопки, поди, имеют самописные иконки (glyph)..
Сказано же: "Кнопка простая типа TButton."
-
> Сказано же: "Кнопка простая типа TButton." Ага, к тому же сказано, что хочется исправить причину, а не "не менять все на TBitBtn". Можно понять, что "самописные"(переписанные Борландом) как раз таки работают.
Но вообще проблема именно та на которую ссылка в [8] от 12. :о) Удалось повторить, а значит наполовину решить(по ссылке и варианты решений есть)... Отличие в мелочи, просто путаница, кнопки действительно исчезают по Alt... именно так как описано, все (+ еще там пару простых, базовых контролов), просто дизейбленные не восстанавливаются в последующем событии перерисовки (нет к ним событий). Т.е. если Alt зажат при создании то кнопки сразу в таком виде, все, но после оншоу/паинт не дизейбленные перерисовываются уже нормально. На XP то же действие (нажатие альт) выливается в то, что кнопки без подчеркивания (быстрого выбора) становятся с подчеркиванием (для проверки кому интересно)... т.е. винда что-то меняет везде, и только на win7 это приводит к печальным (не для всех) последствиям.
ИМХО неплохо, по одному мельком виденному скриншоту, при нежелании клиентов... :о) Спасибо.
-
> и только на win7 + Vista, там дела еще хуже чем на win7. Может повторяться по нескольку раз, на win7, если кнопка успела нормально прорисоваться, то больше не исчезнет. Но, зато тестить удобнее. ;о)
-
У меня была подобная проблема, пропадали некоторые кнопки и TLabel с форм. Решилась переводом приложения на D2009
-
Ради пары строк кода 2009-й покупать? (решение есть в ссылке, и не одно, там как минимум пара рабочих вариантов) Нет, это только если понадобится юникодность программ.
-
а у меня другая проблема была - программа под w7 имеет нормальный, русский интерфейс. Русские caption на кнопках, tLabel и проч. и на верхнем уровне mainmenu а вот на втором уровне - кракозябры
Файл Правка
№;?:;%:;? ?:*?:*?:*:?
*?:%*:%*:% *%*%*?*?:?
:?%*%*:%*
Читал на каком -то форуме совет про charset, поставить во все формы - все переставил как советовано - бесполезно.. плюнул. вообще второй уровень снес, на toolButton все сделал - вроде нормально, кто под XP - просят и им сносить, побольше батонов сделать, вроде де так быстрее и понятнее, не надо гадать что в каком item верхнего уровня сидит.
-
> все переставил как советовано - бесполезно.. Это советовали? "Панель управления"->"Язык и региональные настройки"->"Дополнительно". Выбрать "Русский" в выпадающем списке "Язык программ, не поддерживающих Юникод"
-
> Это советовали? > "Панель управления"->"Язык и региональные настройки"->"Дополнительно". > Выбрать "Русский" в выпадающем списке "Язык программ, не > поддерживающих Юникод"
не помню но уже не важно, уже утвердили интерморду. но на будущее запомню(проверить прямо сейчас не могу), спасибо
|