Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2012, 19:10   #1
anka_masurowa
 
Регистрация: 10.04.2012
Сообщений: 6
Сообщение Изменение символа компонента TBitBtn

Помогите пожалуйста.
Нужно,используя компонент TBitBtn,создать кнопку,при первом переходе нажатии на которую на ней появлялся бы образ горящей лампочки,при повторном нажатии-погасшей
anka_masurowa вне форума Ответить с цитированием
Старый 10.04.2012, 19:42   #2
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Можно просто сохранить 2 изображения, например, Lamp_On.bmp & Lamp_Off.bmp и соотвествено загружать в кнопку(Glyph) их когда вам нужно, например создайте глобальную переменную, или лучше для этого дела используйте Tag компонента. В нём вы будете записывать состояние лампочки.
Delphi_ProGer вне форума Ответить с цитированием
Старый 10.04.2012, 19:59   #3
anka_masurowa
 
Регистрация: 10.04.2012
Сообщений: 6
По умолчанию

А можно поподробнее?
В Glyph из стандартной коллекции уже загружено 2 рисунка.
Сделала такой код для деактивации кнопки
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
BitBtn1.Enabled:=not BitBtn1.Enabled;
end;
А вот как ее обратно активировать?Она должна при каждом нажатии менять состояние
anka_masurowa вне форума Ответить с цитированием
Старый 10.04.2012, 20:44   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Image position Button state Description

First Up This image appears when the button is up (unselected). This image is also used when the button has focus (for example, if the user tabs to it); in this case, a focus rectangle is drawn around the button. If no other images exist in the bitmap, bit buttons also use this image for all other states.
Second Disabled This image usually appears dimmed to indicate that the button can't be selected.
Third Clicked This image appears when the button is clicked. The Up image reappears when the user releases the mouse button.

Fourth Down This image appears when the button stays down (indicating that it remains selected).
из справки.
сами переведете надеюсь.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.04.2012, 20:47   #5
anka_masurowa
 
Регистрация: 10.04.2012
Сообщений: 6
По умолчанию

Читала...Это мне мало что говорит...Я только начинаю работать с Делфи, поэтому и возникают такие глупые вопросы..Понимаю,что это должно быть достаточно легко, но увы...
anka_masurowa вне форума Ответить с цитированием
Старый 10.04.2012, 21:01   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

глиф может состоять из 4 частей.
1)это состояние когда кнопка не нажата(и не выбрана, но включена)
2)это состояние когда кнопка отключена
3)состояние когда на кнопку нажата(и все еще держится кнопка мыши, при отпускании уйдет в 1)
4)состояние когда кнопка была щелкнута и находиться в выбранном состоянии
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.04.2012, 21:19   #7
anka_masurowa
 
Регистрация: 10.04.2012
Сообщений: 6
По умолчанию

а в программном виде это могли бы показать?
anka_masurowa вне форума Ответить с цитированием
Старый 12.04.2012, 02:19   #8
__123
Пользователь
 
Аватар для __123
 
Регистрация: 15.09.2011
Сообщений: 36
По умолчанию

Код:
procedure TForm1.BClick(Sender: TObject);
Var Bmp_1, Bmp_2 : TBitmap;
begin
Bmp_1:=TBitmap.Create;
Bmp_2:=TBitmap.Create;
Bmp_1.Height:=25;
Bmp_1.Width:=25;
Bmp_2.Height:=25;
Bmp_2.Width:=25;
Bmp_1.Canvas.Brush.Color:=clRed;
Bmp_1.Canvas.Rectangle(0,0,24,24);
Bmp_2.Canvas.Brush.Color:=clYellow;
Bmp_2.Canvas.Rectangle(0,0,24,24);
If B.Tag=0 Then
Begin
B.Glyph.Assign(Bmp_1); //Ну или B.Glyph.LoadFromFile('C:\Img.bmp');
B.Tag:=1;
End
Else
Begin
B.Glyph.Assign(Bmp_2);
B.Tag:=0;
End;
Bmp_1.Free;
Bmp_2.Free;
end;
Это, конено, некорректно каждый раз при клике Create,Free,etc, но смысл показывает. Собственно, основной кусок кода

Код:
If B.Tag=0 Then
Begin
B.Glyph.Assign(Bmp_1); //Ну или B.Glyph.LoadFromFile('C:\Img.bmp');
B.Tag:=1;
End
Else
Begin
B.Glyph.Assign(Bmp_2);
B.Tag:=0;
End;
Короче в программном виде то что сказал Delphi_ProGer.
__123 вне форума Ответить с цитированием
Старый 12.04.2012, 08:35   #9
anka_masurowa
 
Регистрация: 10.04.2012
Сообщений: 6
По умолчанию

Спасибо=)Постараюсь разобраться=)
anka_masurowa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размеров частей компонента Fanz Компоненты Delphi 0 14.02.2012 11:28
Изменение положения компонента. A-IX-2 Общие вопросы Delphi 4 19.06.2011 15:21
Изменение символа разделителя tsar_ Общие вопросы Delphi 7 31.03.2011 13:32
TStringGrid и TBitBtn.OnClick megachuhancer Общие вопросы Delphi 0 16.06.2010 08:25
DSPack - изменение компонента dani92 Мультимедиа в Delphi 1 08.11.2009 19:26