|
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 сост.цвета и надписи). | |
|
| |
|
9 Кб. |
|
| Так пойдет? см. атт. | |
|
| |
|
|
|
|
| ну так кнопку-то покрасить нельзя
можно конечно сгородить картинки с надписями, но этот путь более затратный... | |
|
| |
|
9 Кб. |
|
| да это я в шутку
Private Sub lblLabel_Click()
With lblLabel
.BackColor = Abs(.BackColor - 16777215)
.ControlTipText = .Tag
.Tag = .Caption
.Caption = .ControlTipText
End With
End Sub
|
| |
|
| |
|
|
|
| Здорово. | |
|
| |
|
|
|
| оч спортивно - 18 минут | |
|
| |
|
|
|
| Да, классная псевдо-кнопка получается из одной только надписи!
Спасибо, что развили тему! | |
|
| |
|
|
|
| ещё можно добавить...
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 | |
|
| |
|
|
|
| Это уже скорее как выключатель.
Тоже вариант. | |
|
| |
|
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 .... | |
|
| |
|
|
|
| ты бы сформулировал задачку как след... а то - то ему черный, то - прозрачный :)
ты сначала-то кричал, что основной цвет - белый - вот тебе и белый и черный - как просил :)))
прозрачный - это вообще не цвет - это способ (тип) отображения БэкГраунда контрола - т.н. BackStyle... если задавать цвет для BackGround, то BackStyle будет Нормал, иначе может быть Транспэрэнт...
а цвет надписи это - ForeColor - эксперементируй :) | |
|
| |
|
45 Кб. |
|
| >>ты бы сформулировал задачку как след... а то - то ему черный, то - прозрачный :)
>>ты сначала-то кричал, что основной цвет - белый - вот тебе и белый и черный - как просил :)))
Так вот, ЗАДАЧА:
Это тест. При загрузке появляется такая форма(см.ScreenShot):
1 Надпись - выводит текущий вопрос.
2 4 флажка для выбора ответов
3 Длинная линейка из 36 маленьких кнопок
4 Кнопки "след.вопрос", "пред.вопрос"
На mini-кнопках написаны № вопросов 1-36. При нажатии на кнопку мы перемещаемся к вопросу, № которого=надписи на нажатой кнопке. Если на вопрос дан ответ, то соотв.кнопка меняет цвет --- это есть индикатор выполнения. Т.О. у кнопки есть 2 состояния цвета в зависимости от того, дан ли ответ на соотв.вопрос или нет.
ВОТ откуда вопрос в заголовке темы.
Потом понимаю, что еще не достает 3-го состояния цвета - индикатора текущего вопроса, т.е. этот цвет имеет одна-единственная кнопка, у которой выведен соотв.вопрос в данный момент...
И почему бы не сделать одно из состояний прозрачным.
Вот когда может пригодиться такой control. | |
|
| |
|
|
10 Кб. |
|
| так в чем поблема? см. файл | |
|
| |
|
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
|
| |
|
| |
|
|
|
| идея заключалась в том, чтобы обойтись вообще без IF'ов
иначе можно все на ИФ'ах написать - и Caption и BackColor
иного смысла кроме спортивного интереса в этих экзерцисах с контролами вообще не вижу :))) | |
|
| |
|
|
|
| За спорт! | |
|
| |
|
|
|
| Ребята, но ведь здесь есть одно Но - нет перехода по Tab, только мышь!
Может всё же рисунки(V надписи) & прозрачные конпки? | |
|
| |
|
|
|
| хм... то, что нет перехода по Tab иногда может быть и в плюс, если говорить о кнопках... но ты права конечно - это едва ли не самый важный момент...
ИМХО вообще все эти экзерсисы с нестандартным использованием контролов могут иметь место только при самых серьезных основаниях | |
|
| |