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 Глава |
ODY>