Форум: "Прочее";
Текущий архив: 2010.12.19;
Скачать: [xml.tar.bz2];
ВнизЧто за проблема с кнопками? Найти похожие ветки
← →
sniknik © (2010-09-08 10:01) [0]Прислали скриншот на котором в программе не видны кнопки со статусом Enabled = false, т.е. вместо того чтобы "дизейблиться" кнопка пропадает (остается видимым небольшой "артефакт" в виде символа подчеркивания на месте Caption-а).
Что это может быть? Кто-то сталкивался?
Прога на Delphi 7. Кнопка простая типа TButton. Используется манифест (важно т.к. на скриншоте "настроечной" утилитки без него такие нормально видны в дизейбленном виде). Замечено на оси Windows 7.
Причем люди не видят в этом проблемы, говорят "у нас бывает, не только в вашей программе", но мне как бы самому интересно, особенно если можно исправить (не менять все на TBitBtn, а с тем что есть. т.е. не уйти о нее, а решить, разобраться в причине, а то может не только на кнопки влияет...).
← →
Омлет © (2010-09-08 10:39) [1]Может стоит тема какая-нибудь хитрая, где цвет задизабленной кнопки совпадает с цветом фона.
← →
sniknik © (2010-09-08 10:53) [2]Было предположение, что типа яркость вывернута так что серый фон сливается со светло серым, но "артефакт" яркого черного цвета, такого же как символы на соседней активной...
Т.е. с "цветами" это вряд ли. Тогда бы ничего видно не было (на дизейбленных нет яркого, да и символа подчеркивания тоже, также в каптионе нет символа &)
Но тема действительно отличается от стандартной(аэро) и классической (as 2000-ый), не знаю какая (и не узнаю, т.к. "та сторона" просто отмахивается, типа "ну не видно кнопок на которые нельзя нажимать, ну и что, проблема была бы если было не видно тех на которые можно...").
← →
Inovet © (2010-09-08 10:54) [3]> [1] Омлет © (08.09.10 10:39)
> Может стоит тема какая-нибудь хитрая, где цвет задизабленной
> кнопки совпадает с цветом фона.
Бывают любители ручками цвета покрутить, криво естественно.
← →
Омлет © (2010-09-08 11:10) [4]Интересно бы на скриншот глянуть.
← →
И. Павел © (2010-09-08 11:13) [5]Удалено модератором
← →
И. Павел © (2010-09-08 11:14) [6]Удалено модератором
← →
sniknik © (2010-09-08 11:22) [7]> Интересно бы на скриншот глянуть.
Придет человек на компе которого его видел попрошу переслать мне, выложу.
> Может быть просто программа в это время не отвечала и не перерисовывались окна?
И при этом осуществляла ввод, и после корректных данных "енейблила" кнопку и она становилась видимой... Нет.
Было бы все так просто не спрашивал бы. И потом это не единичный случай (судя по их реакции), и не в единственной программе программе.
← →
12 © (2010-09-08 15:28) [8]http://qc.embarcadero.com/wc/qcmain.aspx?d=37403
не то?
← →
sniknik © (2010-09-08 19:40) [9]Похоже, но... Alt не нажимают, вообще все действия мышкой, и контролы пропадают только "дизейбленные" (и появляются при "раздизейбливании" также без нажатий). а тут вроде про обычные речь.
Но может, вариация (если от видео зависит), может там на компе Alt залип... В любом случае проверю (как понял должно повториться и на другом висте/7, если Alt зажать. т.е. это уже можно проверять, не скриншот ;)).
← →
MonoLife © (2010-09-09 08:34) [10]Дык.. кнопки, поди, имеют самописные иконки (glyph).. можно так нарисовать, что кадр рисунка для статуса disable просто не будет виден, либо виден частично - > небольшой "артефакт"
← →
Омлет © (2010-09-09 08:41) [11]> MonoLife © (09.09.10 08:34) [10]
> Дык.. кнопки, поди, имеют самописные иконки (glyph)..
Сказано же: "Кнопка простая типа TButton."
← →
sniknik © (2010-09-09 10:03) [12]> Сказано же: "Кнопка простая типа TButton."
Ага, к тому же сказано, что хочется исправить причину, а не "не менять все на TBitBtn". Можно понять, что "самописные"(переписанные Борландом) как раз таки работают.
Но вообще проблема именно та на которую ссылка в [8] от 12. :о) Удалось повторить, а значит наполовину решить(по ссылке и варианты решений есть)... Отличие в мелочи, просто путаница, кнопки действительно исчезают по Alt... именно так как описано, все (+ еще там пару простых, базовых контролов), просто дизейбленные не восстанавливаются в последующем событии перерисовки (нет к ним событий). Т.е. если Alt зажат при создании то кнопки сразу в таком виде, все, но после оншоу/паинт не дизейбленные перерисовываются уже нормально.
На XP то же действие (нажатие альт) выливается в то, что кнопки без подчеркивания (быстрого выбора) становятся с подчеркиванием (для проверки кому интересно)... т.е. винда что-то меняет везде, и только на win7 это приводит к печальным (не для всех) последствиям.
ИМХО неплохо, по одному мельком виденному скриншоту, при нежелании клиентов... :о)
Спасибо.
← →
sniknik © (2010-09-09 10:32) [13]> и только на win7
+ Vista, там дела еще хуже чем на win7. Может повторяться по нескольку раз, на win7, если кнопка успела нормально прорисоваться, то больше не исчезнет.
Но, зато тестить удобнее. ;о)
← →
Darvin (2010-09-10 14:44) [14]У меня была подобная проблема, пропадали некоторые кнопки и TLabel с форм.
Решилась переводом приложения на D2009
← →
sniknik © (2010-09-10 15:36) [15]Ради пары строк кода 2009-й покупать? (решение есть в ссылке, и не одно, там как минимум пара рабочих вариантов)
Нет, это только если понадобится юникодность программ.
← →
12 © (2010-09-10 15:41) [16]а у меня другая проблема была -
программа под w7 имеет нормальный, русский интерфейс.
Русские caption на кнопках, tLabel и проч. и на верхнем уровне mainmenu
а вот на втором уровне - кракозябры
Файл Правка
№;?:;%:;? ?:*?:*?:*:?
*?:%*:%*:% *%*%*?*?:?
:?%*%*:%*
Читал на каком -то форуме совет про charset, поставить во все формы - все переставил как советовано - бесполезно..
плюнул.
вообще второй уровень снес, на toolButton все сделал - вроде нормально, кто под XP - просят и им сносить, побольше батонов сделать, вроде де так быстрее и понятнее, не надо гадать что в каком item верхнего уровня сидит.
← →
sniknik © (2010-09-10 16:24) [17]> все переставил как советовано - бесполезно..
Это советовали?
"Панель управления"->"Язык и региональные настройки"->"Дополнительно". Выбрать "Русский" в выпадающем списке "Язык программ, не поддерживающих Юникод"
← →
12 © (2010-09-10 16:51) [18]
> Это советовали?
> "Панель управления"->"Язык и региональные настройки"->"Дополнительно".
> Выбрать "Русский" в выпадающем списке "Язык программ, не
> поддерживающих Юникод"
не помню
но уже не важно, уже утвердили интерморду.
но на будущее запомню(проверить прямо сейчас не могу), спасибо
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.12.19;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.004 c