TSpeedButton - отображение Glyph'a в Disabled-режиме
От: delphinchik Россия  
Дата: 21.04.05 11:09
Оценка:
Если у кнопки TSpeedButton установить Enabled = False то Glyph автоматически скрывается. Меня такое поведение не устраивает, нужно чтобы кнопка просто становилась недоступной, текст кнопки ведь никуда не пропадает, почему тогда пропадает рисунок? Суть в том, что в пользовательских настройках программы можно сделать так, чтобы на кнопках отоюражались только иконки без надписей, в некоторых режимах кнопки могут быть недоступны, а их цвет по дизайну программы такой же как и фоновый, поэтому бывают ситуации когда некоторых кнопок на панели управления абсолютно не видно, и тогда программа приобретает страшный вид, получается как будто кнопки разбросаны по панели где попало, хотя на самом деле остальных кнопок просто не видно. Я вижу решение проблемы в изменении поведения кнопки на Enabled:=False, может кто то сталкивался с подобными вопросами — буду благодарен за совет.
Re: TSpeedButton - отображение Glyph'a в Disabled-режиме
От: Drago Россия  
Дата: 21.04.05 11:11
Оценка: 4 (1)
Здравствуйте, delphinchik, Вы писали:

D>Если у кнопки TSpeedButton установить Enabled = False то Glyph автоматически скрывается. Меня такое поведение не устраивает, нужно чтобы кнопка просто становилась недоступной, текст кнопки ведь никуда не пропадает, почему тогда пропадает рисунок? Суть в том, что в пользовательских настройках программы можно сделать так, чтобы на кнопках отоюражались только иконки без надписей, в некоторых режимах кнопки могут быть недоступны, а их цвет по дизайну программы такой же как и фоновый, поэтому бывают ситуации когда некоторых кнопок на панели управления абсолютно не видно, и тогда программа приобретает страшный вид, получается как будто кнопки разбросаны по панели где попало, хотя на самом деле остальных кнопок просто не видно. Я вижу решение проблемы в изменении поведения кнопки на Enabled:=False, может кто то сталкивался с подобными вопросами — буду благодарен за совет.

сделай Glyph состоящий из 2 битмапов, первый будет использован для состояния Enabled, второй для Disabled. свойство NumGlyphs должно содержать количество битмапов в Glyph
Re: TSpeedButton - отображение Glyph'a в Disabled-режиме
От: Danchik Украина  
Дата: 21.04.05 11:21
Оценка: 4 (1)
Здравствуйте, delphinchik, Вы писали:

D>Если у кнопки TSpeedButton установить Enabled = False то Glyph автоматически скрывается. Меня такое поведение не устраивает, нужно чтобы кнопка просто становилась недоступной, текст кнопки ведь никуда не пропадает, почему тогда пропадает рисунок? Суть в том, что в пользовательских настройках программы можно сделать так, чтобы на кнопках отоюражались только иконки без надписей, в некоторых режимах кнопки могут быть недоступны, а их цвет по дизайну программы такой же как и фоновый, поэтому бывают ситуации когда некоторых кнопок на панели управления абсолютно не видно, и тогда программа приобретает страшный вид, получается как будто кнопки разбросаны по панели где попало, хотя на самом деле остальных кнопок просто не видно. Я вижу решение проблемы в изменении поведения кнопки на Enabled:=False, может кто то сталкивался с подобными вопросами — буду благодарен за совет.


Glyph скрывается потому что TSpeedButton не смог автоматически подготовить Disabled Glyph. Поэтому дорисуй в каком то графическом редакторе еще одну картинку (лучше просто перегнать ее в Gray Sacle) и доклей ее справа к основной.
Так если у тебя была картинка размером 16x16 то должен сделать новую 32x16. Смотри рисунок:

 ______ ______
|      |      |
|Normal|Disabl|
|      |ed    |
|______|______|


И незабудь поставить NumGlyphs = 2. У нас теперь две картинки

Удачи!
Re[2]: TSpeedButton - отображение Glyph'a в Disabled-режиме
От: delphinchik Россия  
Дата: 21.04.05 11:35
Оценка:
Спасибо всем большое за ответы. Идея понятна.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.