Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: кнопку, меняющая цвет и надпись при нажатии(всего 2 сост.цвета и надписи)
 
 автор: stix   (02.11.2006 в 15:16)   личное сообщение
3 Кб.
 
 

Кто-нибудь может подсказать как сделать такую кнопку:
1: При инициализации она имеет белый цвет и на ней написано "hiprog.com"
2: При нажатии она меняет свой цвет на черный и на ней уже написано "/forum".
Еще при нажатии она возвращается в состояние 1 и т.д.

Попробовал делать 2 кнопки(одна на другой) с внедренными рисунками белого и черного цветов и отдельно потом ложил надпись. Так вот при инициализации все неплохо:
БЕЛ_кн.Visible=True,ЧЕР_кн.Visible=False, надпись видна.(см.рис.- он весит 3кб)
На рис. есть 2 кнопки:
Sub лев_Кн_Click:
Надпись.Visible=False
БЕЛ_кн.Visible=True
ЧЕР_кн.Visible=False
Надпись.Visible=true
End Sub
ПР_КН работает аналог. : меняет кнопки с бел на чер.
Так вот запись на самом верху не стоит-не видна.

Так вот вопрос:
Подскажите как сделать кнопку, меняющую цвет и надпись при нажатии(всего 2 сост.цвета и надписи).

  Ответить  
 
 автор: osmor   (02.11.2006 в 15:34)   личное сообщение
9 Кб.
 
 

Так пойдет? см. атт.

  Ответить  
 
 автор: Explorer   (02.11.2006 в 15:51)   личное сообщение
 
 

не спортивно ;)

  Ответить  
 
 автор: osmor   (02.11.2006 в 15:57)   личное сообщение
 
 

ну так кнопку-то покрасить нельзя
можно конечно сгородить картинки с надписями, но этот путь более затратный...

  Ответить  
 
 автор: Explorer   (02.11.2006 в 18:28)   личное сообщение
9 Кб.
 
 

да это я в шутку


Private Sub lblLabel_Click()
With lblLabel
.BackColor = Abs(.BackColor - 16777215)
.ControlTipText = .Tag
.Tag = .Caption
.Caption = .ControlTipText
End With
End Sub

  Ответить  
 
 автор: osmor   (02.11.2006 в 19:18)   личное сообщение
 
 

Здорово.

  Ответить  
 
 автор: Силыч   (02.11.2006 в 16:26)   личное сообщение
 
 

оч спортивно - 18 минут

  Ответить  
 
 автор: stix   (05.11.2006 в 17:10)   личное сообщение
 
 

Да, классная псевдо-кнопка получается из одной только надписи!

Спасибо, что развили тему!

  Ответить  
 
 автор: час   (05.11.2006 в 17:21)   личное сообщение
 
 

ещё можно добавить...

Private Sub lblLabel_Click()
With lblLabel
.BackColor = Abs(.BackColor - 16777215)
.ControlTipText = .Tag
.Tag = .Caption
.Caption = .ControlTipText
If .SpecialEffect = 2 Then
.SpecialEffect = 1
Else
.SpecialEffect = 2
End If
End With
End Sub

  Ответить  
 
 автор: stix   (06.11.2006 в 10:55)   личное сообщение
 
 

Это уже скорее как выключатель.
Тоже вариант.

  Ответить  
 
 автор: stix   (07.11.2006 в 11:24)   личное сообщение
28 Кб.
 
 

А как быть если один цвет - дефолтный (прозрачный)? (.SpecialEffect = 2)
т.е.
1: При нажатии кн. она меняет свой цвет на черный, надпись "HIPROG"
2: При нажатии кн. она возвращает стандартный цвет формы, , надпись "FORUM"
3: ->1

Обработка:

Private Sub Надпись0_Click()
If Надпись0.Caption = "hiprog" Then
    Надпись0.Tag = Надпись0.BackColor
    Надпись0.BackColor = 16711935
    Надпись0.Caption = "forum"
Else
    Надпись0.BackColor = Надпись0.Tag
    Надпись0.Caption = "hiprog"
End If
End Sub

так вот значение BackColor - то меняется, а вот цвет надписи - нет.
Не пойму.....


P.S. Эх, сбудется ли когда-нибудь мечта о суперкнопке HIPROG ....

  Ответить  
 
 автор: Explorer   (07.11.2006 в 11:35)   личное сообщение
 
 

ты бы сформулировал задачку как след... а то - то ему черный, то - прозрачный :)

ты сначала-то кричал, что основной цвет - белый - вот тебе и белый и черный - как просил :)))

прозрачный - это вообще не цвет - это способ (тип) отображения БэкГраунда контрола - т.н. BackStyle... если задавать цвет для BackGround, то BackStyle будет Нормал, иначе может быть Транспэрэнт...

а цвет надписи это - ForeColor - эксперементируй :)

  Ответить  
 
 автор: stix   (08.11.2006 в 06:36)   личное сообщение
45 Кб.
 
 

>>ты бы сформулировал задачку как след... а то - то ему черный, то - прозрачный :)
>>ты сначала-то кричал, что основной цвет - белый - вот тебе и белый и черный - как просил :)))

Так вот, ЗАДАЧА:
Это тест. При загрузке появляется такая форма(см.ScreenShot):
1 Надпись - выводит текущий вопрос.
2 4 флажка для выбора ответов
3 Длинная линейка из 36 маленьких кнопок
4 Кнопки "след.вопрос", "пред.вопрос"

На mini-кнопках написаны № вопросов 1-36. При нажатии на кнопку мы перемещаемся к вопросу, № которого=надписи на нажатой кнопке. Если на вопрос дан ответ, то соотв.кнопка меняет цвет --- это есть индикатор выполнения. Т.О. у кнопки есть 2 состояния цвета в зависимости от того, дан ли ответ на соотв.вопрос или нет.
ВОТ откуда вопрос в заголовке темы.
Потом понимаю, что еще не достает 3-го состояния цвета - индикатора текущего вопроса, т.е. этот цвет имеет одна-единственная кнопка, у которой выведен соотв.вопрос в данный момент...

И почему бы не сделать одно из состояний прозрачным.
Вот когда может пригодиться такой control.

  Ответить  
 
 автор: Explorer   (08.11.2006 в 13:25)   личное сообщение
 
 

rar must die - зипуй

  Ответить  
 
 автор: osmor   (07.11.2006 в 11:37)   личное сообщение
10 Кб.
 
 

так в чем поблема? см. файл

  Ответить  
 
 автор: Explorer   (07.11.2006 в 12:00)   личное сообщение
13 Кб.
 
 


Private Sub lblLabel_Click()
With lblLabel
.ForeColor = .BackColor
.BackColor = Abs(.BackColor - 16777215)
.SpecialEffect = 2 + (.SpecialEffect = 2)  '  
.ControlTipText = .Tag
.Tag = .Caption
.Caption = .ControlTipText
End With
End Sub

  Ответить  
 
 автор: Explorer   (07.11.2006 в 10:49)   личное сообщение
 
 

идея заключалась в том, чтобы обойтись вообще без IF'ов

иначе можно все на ИФ'ах написать - и Caption и BackColor

иного смысла кроме спортивного интереса в этих экзерцисах с контролами вообще не вижу :)))

  Ответить  
 
 автор: stix   (08.11.2006 в 06:37)   личное сообщение
 
 

За спорт!

  Ответить  
 
 автор: Кукамака   (09.11.2006 в 15:26)   личное сообщение
 
 

Ребята, но ведь здесь есть одно Но - нет перехода по Tab, только мышь!
Может всё же рисунки(V надписи) & прозрачные конпки?

  Ответить  
 
 автор: Explorer   (09.11.2006 в 15:43)   личное сообщение
 
 

хм... то, что нет перехода по Tab иногда может быть и в плюс, если говорить о кнопках... но ты права конечно - это едва ли не самый важный момент...

ИМХО вообще все эти экзерсисы с нестандартным использованием контролов могут иметь место только при самых серьезных основаниях

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList