Выбор цвета


В этой программе я попробую научить вас работать с таким элементом управления как выпадающее меню (ComboBox). Этот элемент зачастую бывает очень нужен как начинающим программистам, так и профессионалам. Например на моей страничке он используется в опросе.


Шаг №1 - Постановка задачи

Как всегда определяем - что же будет делать наша программа. Наша программа будет изменять цвет формы в зависимости от того, который вы выбрали в выпадающем меню.


Шаг №2 - Визуальное проектирование

Приступаем к визуальному проектированию. На форме должны быть такие элементы :

Кнопка (Button) : Caption - Поменять цвет, Name - Command1
Кнопка (Button) : Caption - Выход, Name - Command2

Теперь разберемся с самим Выпадающим меню:
То что можно будет выбрать надо записывать в параметре List :
Нажмите на этот параметр и введите туда - Черный
Потом нажмите на любое место проекта, опять нажмите на List и введите туда Белый
Ну а теперь так же добавьте - Серый. Самое трудное в визуальном проектировании ;) вы уже сделали. Теперь в поле параметра Text элемента ComboBox1 впшите - Цвет. После всех этих ухищрений у вас должно получиться примерно так :


Шаг №3 - Программирование в коде

Теперь приступаем к программированию в коде, здесь можно пойти двумя путями : в одном легче,и код получится меньше, но второй путь грамотнее с точки зрения "правильного" программирования.Я опишу оба.
В обоих случаях вам придется в раздел глобальных объявлений вписать :

Option Explicit - как всегда объявляем переменные.

Dim Col As String - объявляем текстовую переменную Col -она будет обозначать текстовое значение цвета в программе ( например белый)

Dim FCol As Long - объявляем числовую (я пишу Long, а не Integer потому, что в интервал Integer'a не поместятся числа которые нам нужны) переменную FCol - она будет означать числовое значение цвета формы в программе.

Перейдите к коду кнопки Выход и напишите там

End

А теперь перейдите к коду кнопки Поменять и напишите там :

Col = Combo1.Text - присваиваем переменной Col значение параметра Text элемента Combo1. Если выбран Белый, то Col будет равен белый. Если вы не выбирали цвет, то Col будет равен Цвет.

Теперь пути расходятся, но пишется все только в коде кнопки Поменять, сначала описываем первый путь :

If Col = "Белый" Then FCol = Qbcolor(15) - Если текстовая переменная Col равна тексту "Белый" то числовая переменная FCol равна числовому эквиваленту цвета номер 15 (то есть белому)

If Col = "Черный" Then FCol = Qbcolor(0) - Если текстовая переменная Col равна тексту "Черный" то числовая переменная FCol равна числовому эквиваленту цвета номер 0 (то есть черному)

If Col = "Серый" Then FCol = Qbcolor(7) - Если текстовая переменная Col равна тексту "Серый" то числовая переменная FCol равна числовому эквиваленту цвета номер 7 (то есть серому)

If Col = "Цвет" Then Msgbox "Сначала выберите цвет",vbCritical - Если текстовая переменная Col равна тексту "Цвет" то есть изначальному тексту элемента TextBox то выдать сообщение об этом со значком ошибки.

Form1.BackColor = FCol - числовое значение заднего цвета элемента Form1 равно числовому значению переменной FCol.

В результате у вас должна получится такая программа :

Option Explicit
Dim Col as String
Dim FCol as Long

Private Sub Command1_Click( )
Col=Combo1.Text
If Col = "Белый" Then FCol = Qbcolor(15)
If Col = "Черный" Then FCol = Qbcolor(0)
If Col = "Серый" Then FCol = Qbcolor(7)
If Col = "Цвет" Then Msgbox "Сначала выберите цвет",vbCritical
Form1.BackColor = FCol
End Sub

Private Sub Command2_Click( )
End
End Sub

Сайт создан в системе uCoz