Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.19;
Скачать: CL | DM;

Вниз

Что за проблема с кнопками?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.008 c
3-1249649283
aleks-ran
2009-08-07 16:48
2010.12.19
Параметры и mysql-connector-odbc-5.1.5


15-1284323370
Юрий
2010-09-13 00:29
2010.12.19
С днем рождения ! 13 сентября 2010 понедельник


15-1284014875
Игорь
2010-09-09 10:47
2010.12.19
У кого стоит D2100


2-1285337414
Guestt
2010-09-24 18:10
2010.12.19
Как передать в функцию ссылку на другую функцию?


2-1285157997
Den
2010-09-22 16:19
2010.12.19
Подскажите как построить запрос