Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1284025204
И. Павел
2010-09-09 13:40
2010.12.19
Как узнать логин, под которым клиент вошел в MS SQL?


2-1285140224
Matveih1
2010-09-22 11:23
2010.12.19
Не попадаю в точку останова


2-1285399733
faiwer
2010-09-25 11:28
2010.12.19
Создание формы


2-1285589072
harikolo
2010-09-27 16:04
2010.12.19
Чтение и запись данных в Interbase через Delphi


3-1249649283
aleks-ran
2009-08-07 16:48
2010.12.19
Параметры и mysql-connector-odbc-5.1.5





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский