| Rapid-Q Documentation by William Yu (c)1999 | Глава 4 |
Если все введено правильно, то после компиляции вы должны увидеть пустую
форму (окно) с такой геометрией, как указано на выше.
Отметим, что нет необходимости использовать
MainForm.Left или MainForm.Top, потому что
MainForm устанавливается в центре экрана, что вычисляется автоматически.
Нам нужно только указать высоту и ширину.
Теперь, когда окно имеется мы можем разместить на нем наши компоненты.
Этот код мы должны разместить до строки
MainForm.ShowModal.
Сначала добавим надписи (labels).
DIM NameLabel AS QLABEL, AddrLabel AS QLABEL
DIM CityLabel AS QLABEL, PhLabel AS QLABEL
NameLabel.Parent = MainForm
NameLabel.Caption = "Name:"
NameLabel.Top = 13
NameLabel.Left = 25
AddrLabel.Parent = MainForm
AddrLabel.Caption = "Address:"
AddrLabel.Top = 38
AddrLabel.Left = 25
CityLabel.Parent = MainForm
CityLabel.Caption = "City:"
CityLabel.Top = 63
CityLabel.Left = 25
PhLabel.Parent = MainForm
PhLabel.Caption = "Phone #:"
PhLabel.Top = 88
PhLabel.Left = 25
Но это мы рассмотрим позже.
Мы имеем теперь главное окно, 4 компонента Label и
добавим еще 4 компонента Edit. DIM NameEdit AS QEDIT, AddrEdit AS QEDIT
DIM CityEdit AS QEDIT, PhEdit AS QEDIT
NameEdit.Parent = MainForm
NameEdit.Left = 70
NameEdit.Top = 10
NameEdit.Width = 230
AddrEdit.Parent = MainForm
AddrEdit.Left = NameEdit.Left
AddrEdit.Width = NameEdit.Width
AddrEdit.Top = 35
CityEdit.Parent = MainForm
CityEdit.Left = NameEdit.Left
CityEdit.Width = NameEdit.Width
CityEdit.Top = 60
PhEdit.Parent = MainForm
PhEdit.Left = NameEdit.Left
PhEdit.Width = NameEdit.Width
PhEdit.Top = 85
Выглядит несложно, не так ли? Все так же как и для
Label, немного больше параметров для правильного размещения
компонентов на форме. Мы должны расположить все компоненты (иначе - кОнтролы)
Qedit сразу после Qlabels.
Осталось только добавить 2 кнопки (Button)
и один контрол листбокс (listbox).
DIM AddButton AS QBUTTON, ClearButton AS QBUTTON
DIM ListBox AS QLISTBOX
AddButton.Parent = MainForm
AddButton.Left = 70
AddButton.Top = 115
AddButton.Width = 110
AddButton.Caption = "&Add to Database"
ClearButton.Parent = MainForm
ClearButton.Left = 190
ClearButton.Top = 115
ClearButton.Width = 110
ClearButton.Caption = "&Clear Database"
ListBox.Parent = MainForm
ListBox.Top = 150
ListBox.Left = 70
ListBox.Width = 230
ListBox.Height = 150
Скопируйте и вставьте в свой код, и все готово! Скомпилируйте
и запустите. Теперь мы имеем форму, которая выглядит как на рисунке выше.
Осталось сделать еще пару вещей.
4.3 Обработка событий (Handling Events
)
Как можно видеть, приведенный выше код дает нам только форму с интерфейсом
пользователя, но ничего не происходит если нажимать на кнопки. Мы должны
написать обработчик событий нажатия на кнопку.
AddButton.OnClick = AddButtonClick
И это все? Ну, почти все. Обработчик события
OnClick ( Нажатие) будет вызывать подпрограмму, которую мы
назвали
AddButtonClick.Теперь мы что-то получим. Когда пользователь нажимает на
кнопку, код подпрограммы начинает выполняться. Как вы видите, все , что он
делает - добавляет текстовые поля к к нашему листбоксу. Если вы не знаете,
символ подчеркивания _ в
конце строки используется в
Rapid-Q для переноса длинных строк.
Теперь добавим обработчик событий для других контролов.
SUB ClearButtonClick
ListBox.Clear
END SUB
ClearButton.OnClick = ClearButtonClick
DIM MainForm AS QFORM
DIM NameEdit AS QEDIT, AddrEdit AS QEDIT, _
CityEdit AS QEDIT, PhEdit AS QEDIT
DIM NameLabel AS QLABEL, AddrLabel AS QLABEL, _
CityLabel AS QLABEL, PhLabel AS QLABEL
DIM ListBox AS QLISTBOX
DIM AddButton AS QBUTTON, ClearButton AS QBUTTON
SUB AddButtonClick
IF ListBox.ItemCount > 0 THEN
'-- Add a nice separator
ListBox.AddItems "--------------------------------"
END IF
ListBox.AddItems NameEdit.Text, AddrEdit.Text, _
CityEdit.Text, PhEdit.Text
END SUB
SUB ClearButtonClick
ListBox.Clear
END SUB
NameLabel.Parent = MainForm
NameLabel.Caption = "Name:"
NameLabel.Top = 13
NameLabel.Left = 25
AddrLabel.Parent = MainForm
AddrLabel.Caption = "Address:"
AddrLabel.Top = 38
AddrLabel.Left = 25
CityLabel.Parent = MainForm
CityLabel.Caption = "City:"
CityLabel.Top = 63
CityLabel.Left = 25
PhLabel.Parent = MainForm
PhLabel.Caption = "Phone #:"
PhLabel.Top = 88
PhLabel.Left = 25
NameEdit.Parent = MainForm
NameEdit.Left = 70
NameEdit.Top = 10
NameEdit.Width = 230
AddrEdit.Parent = MainForm
AddrEdit.Left = NameEdit.Left
AddrEdit.Width = NameEdit.Width
AddrEdit.Top = 35
CityEdit.Parent = MainForm
CityEdit.Left = NameEdit.Left
CityEdit.Width = NameEdit.Width
CityEdit.Top = 60
PhEdit.Parent = MainForm
PhEdit.Left = NameEdit.Left
PhEdit.Width = NameEdit.Width
PhEdit.Top = 85
AddButton.Parent = MainForm
AddButton.Left = 70
AddButton.Top = 115
AddButton.Width = 110
AddButton.Caption = "&Add to Database"
AddButton.OnClick = AddButtonClick
ClearButton.Parent = MainForm
ClearButton.Left = 190
ClearButton.Top = 115
ClearButton.Width = 110
ClearButton.Caption = "&Clear Database"
ClearButton.OnClick = ClearButtonClick
ListBox.Parent = MainForm
ListBox.Top = 150
ListBox.Left = 70
ListBox.Width = 230
ListBox.Height = 150
MainForm.Center
MainForm.Caption = "My First Application"
MainForm.Height = 340
MainForm.Width = 350
MainForm.ShowModal
| Prev Глава | Содержание | Next Глава |