| |
 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 иногда может быть и в плюс, если говорить о кнопках... но ты права конечно - это едва ли не самый важный момент...
ИМХО вообще все эти экзерсисы с нестандартным использованием контролов могут иметь место только при самых серьезных основаниях | |
| |
| |