Полоса процесса (Progressbar) — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Полоса процесса (Progressbar)

2022-10-29 28
Полоса процесса (Progressbar) 0.00 из 5.00 0 оценок
Заказать работу

Полоса (компонент Microsoft Windows Common Control 6.0) служит для показа текущего процента выполнения процесса.

Специфичные свойства

Min /Max  ‑ начальное/конечное значение диапазона.

Value   ‑ содержит число, определяющее процент выполнения процесса.

Orientation ‑ ориентация полосы: горизонтальная (ссOrientationHorizon­tal), вер­­ти­каль­ная (ссOrientationVertical).

Scrolling ‑ способ отображения: непрерывный (ссScrollingSmooth), сегмен­ти­ро­ван­ный (ссScrollingStandard).

Пример процесса чтения базы

Data1.Recordset.MoveLast ‘переход на последнюю запись базы

Numrecs=Data1.Recordset.RecordCount ‘определение числа записей в базе

ProgressBar1.Min=1          ‘минимальное значение

ProgressBar1.Max=Numrecs ‘максимальное значение ‑ число записей в базе

ProgressBar1.Value=1           ‘начало процесса

Data1.Recordset.MoveFirst    ‘переход на первую запись базы

For i=1 To numrecs

Data1.Recordset.MoveNext ‘переход на следующую запись базы

ProgressBar1.Value=i       ‘изменение процента выполнения процесса

Next ‘конец тела цикла

6.20. Контур (Shape)

Объект позволяет выделять область с целью объединения логически свя­занных объектов, что повышает наглядность формы.

Специфичные свойства

Shape   ‑ тип фигуры выделения: прямоугольник (0), квад­рат (1), овал (2), окружность (3), скругленный прямоугольник (4), ск­руг­лен­ный квадрат (5); BorderStyle, BorderWidth - стиль контура, толщина линии.

FillColor/FillStyle - цвет заполнения и   стиль заполнения узором.

Линия (Line)

Объект используется для проведения линий оформления и имеет свойства, аналогичные свойствам контура.

Закладки (SSTab, TabStrip)

Закладки используются, если чис­ло объектов велико, и они не помещаются на форму. Объект содержит не­сколько закладок (стра­­ниц). На каждой странице несколько объек­тов.

     Закладки SSTab (компоненты Microsoft Tabbed Dialog Control 6.0) и включается в список компонентов коман­дой Project/ Components/ Browse/.../ Sys­ tem/ Tabctl32. ocx).

     Специфичные свойства

Custom ‑ вызов окна настройки закладок с более удобным интерфейсом.

Tabs, TabsPerRow  ‑ общее чис­ло страниц и число страниц в одном ря­ду.

Style    ‑ стиль закладки Micro­soft Office (0) или Window 95 (1).

TabHeight, TabsMaxWidth   ‑ высота и ширина корешка закладки (нулевое зна­чение означает, что размер корешка закладки будет выбран таким, чтобы они заняли весь ряд).

TabOrientation; TabCaption   ‑ ориентация закладки: вверху (0), вни­­зу (1), слева (2) или справа (3) от объекта; текст заголовка текущей страницы.

WordWrap - возможность мно­го­строчного заго­лов­ка закладки (True).

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

Закладки TabStrip (компоненты Mic­rosoft Windows Common Cont­rol 6.0) менее удобен: пользователь может формировать стра­­ницы только при выполнении программы, скры­вая ненужные объекты.

Специфичные свойства

Custom ‑ вызов окна настройки закладок с более удобным интерфейсом.

CausesValidation = True ‑ происходит событие Validate при потере фокуса.

HighLighted =True ‑ выделение текущей страницы.

HotTracking =True ‑ заголовок страницы подсвечивается при прохождении маркера мыши.

MultiSelect = True ‑ выбор нескольких страниц одновременно (Style=True).

Placement  ‑ положение закладок: сверху (tabPlacement­Top), снизу (tab­PlacementBottom), слева (tabPlacementLeft), справа (tabPlacemenRight).

SelectedItem. Index, SelectedItem   ‑ номер выбранной вкладки и ее заголовок.

Separators =True - отображение разделителей между кнопками.

TabMinWidth  ‑ минимально допустимая ширина заголовка страницы.

TabStyle =tabTabOposition ‑ ряд с выбранным заголовком страницы пере­ме­щает­ся на первую позицию.

     Метод DeselectedAll  отменяет множественный выбор.

Обычно создается массив объектов‑контейнеров Fram. Каж­дый та­кой контейнер содержит объекты одной страницы. В процедуре обработки события Click осуществляется переход на выбранную страницу, используя свойство SelectedItem.Index. Контейнер предыдущей страницы скрывается, а новой ‑ отображается.

Пример работы с закладками TabStrip

(General)(Declarations) ‘раздел глобальных объявлений формы

Dim n As Byte ‘ номер текущей страницы

Private Sub TabStrip1_Click() ‘ процедура обработки события Click

If n+1=TabStrip1.SelectedItem.Index Then Exit Sub ‘страница не сменилась 

Frame1(n).Visible = False ‘ скрывается фрейм на предыдущей странице

n=TabStrip1.SelectedItem.Index ‑ 1 ‘ номер фрейма для выбранной страницы

Frame1(n).Top=TabStrip1.Top+300: Frame1(n).Left=TabStrip1.Left+200

Frame1(n).Visible = True       ‘ настройка местоположения и вывод фрейма

End Sub

 

6.23. Таблицы (MSFlexGrid)

Объект (компонент Microsoft FlexGrid. Control 6.0) позволяет представить данные на форме в табличном виде.

Специфичные свойства

Rows, Cols - число строк и колонок в таблице.

GrideLines, ScrollBar   ‑ наличие линий в сетке и полосы прокрутки.

ColWidth (i)/RowHeight (i) ‑ ширина/высота i-й колонки/строки таблицы (доступно только при выполнении программы).

FixedRows /FixedCols  ‑ число первых строк/колонок, зафиксированных в таблице. Обычно они используются для заголовков строки колонок.

FormatString   ‑ задает тексты заголовков колонок и строк в виде строки, в ко­­торой заголовки разделены символами: “|” (разделение текста, поме­щаемо­го в различные заголовки), “<”, “>”, “^” (выравнивание текста влево, впра­­во или по центру), “;” (начало информации с заголовками строк).

Пример. Задать заголовки трех колонок с названиями месяцев и четырех строк с названием товаров. Значение FormatString будет:

“|>Январь|>Февраль|>Март;|^Масло|^Сахар|^Мясо|^Хлеб”

ColAlignment (i) ‑ выравнивание значений в i-й колонке.

Row,Col,Text ‑ номер строки, колонки (отсчет с нуля)   изначение текущей ячей­­ки.

TextMatrix   ‑ представляет собой массив со всеми ячейками таблицы.

     Пример. MSFlexGrid1.TextMatrix(1,2)=”Иванов”

CellPicture   ‑ задает рисунок для текущей ячейки в виде, например:

Set MSFlexGrid1.CellPicture=LoadPicture(App.Path +”\apple.bmp”)

Sort =n ‑ задает порядок сортировки по выделенной колонке таблицы: 0 (не сортировать);1 (по возрастанию); 2 (по убыванию); 3 или 4 (по возрас­танию или убыванию; строки рассматриваются как числа); 5 или 6 (по воз­рас­танию или убыванию без учета регистра); 7 или 8 (по возрастанию или убы­ва­нию с учетом регистра); 9 (пользовательский порядок сортировки, определяемый событием сетки Compare).

Пример.

MSFlexGrid1.Col=0 ‘выделение первой колонки

MSFlexGrid1.Sort=7 ‘сортировка по возрастанию с учетом регистра

MergeCells =n ‑ задает способ объединения данных в ячейках: 0 (объеди­не­ние запрещено); 1 (ячейка может быть объединена со значением в строке или в столбце, прилегающем к ней); 2, 3, 4 (данные могут быть объединены по строкам, столбцам, строкам и столбцам соответственно).

MergeCol, MergeRow   ‑ задают (True) объединяемые колонки или строки.

     Например, если после сортировки значения в некоторых соседних строках совпадают для первых двух колонок, то их можно объединить, что исключит повторение значений:

MSFlexGrid1.MergeCol(0)=True ‘объединяемый первый столбец

MSFlexGrid1.MergeCol(1)=True ‘объединяемый второй столбец

MSFlexGrid1.MergeCells=1      ‘объединение соседних строк и столбцов

В процедуре Load можно динамически изменить свойства таблицы.

Пример. Разработаем программу, реализующую игру “Морской бой” (рис. 6.23.1). В форме размещена таблица размером 7 х 7; ей соответствует массив M(7,7), в котором случайным образом помечены элементы со значением 1. Эти элементы задают местоположение кораблей в таблице, которые игрок должен потопить, щелкая мышкой по соответствующим ячейкам. Игрок должен задать число всех кораблей перед началом игры в поле Text1 (“Число кораблей”).

Для таблицы MFFlexgrid1 зададим свойства: Enabled=False, Fixed­Rows=0, Rows=7, Cols=7, FixedCol=0. Для полей Text1, Text2, Text3 зада­дим для свой­ства Text значения 1, 0, 0, для счетчика UpDown1 – Bud­dyCon­trol=Text1, SyncBuddy=True, BuddyProperty=Text*.

 

                Рис. 6.23.1. Форма игры “Морской бой”

 

     Приведем тексты процедур.

‘(General)(Declarations) ‑ раздел глобальных объявлений формы

Dim m(6, 6) As Integer  ‘объявление массива из 7 строк и 7 колонок

Private Sub Command1_Click () ‘процедура обработки кнопки “Начало”

Dim i As Integer, j As Integer, k As Integer ‘объявление переменных циклов

Text2.Text= 0: Text3.Text= 0 ‘обнуление значений полей Text2, Text3

Randomize Timer                  ‘включение счетчика случайных чисел

For i = 0 To 6                          ‘очистка массива M и таблицы MSFlexGrid1

For j = 0 To 6                      ‘цикл по колонкам

   m(i, j) = 0                        ‘обнуление текущего элемент массива M

   MSFlexGrid1.TextMatrix(i,j)= ”” ‘очистка значения текущей ячейки таблицы

Next                                   ‘конец тела цикла по колонкам массива M

Next                                       ‘конец тела цикла по строкам массива M

For k=1 To Text1.Text ‘цикл формирования местоположения кораблей в таблице

i = 6 * Rnd: j = 6 * Rnd ‘формирование случайных координат ячейки таблицы

If m(i, j)=1 Then k = k ‑ 1 Else m(i, j) = 1 ‘пометка числом 1 ячейки с кораблем

Next                                         ‘конец тела цикла

MSFlexGrid1.Enabled=True     ‘разрешение на использование таблицы

End Sub

Private Sub MSFlexGrid1_Click () ‘процедура щелчка по таблице (выстрел)

Text3.Text= Text3.Text+ 1 ‘число выстрелов увеличивается на единицу

If m(MSFlexGrid1.Row, MSFlexGrid1.Col) = 1 Then ‘снаряд попал в корабль

MSFlexGrid1.Text= ”Потоплен”         ‘вывод текста в текущую ячейку таблицы

‘обнуление текущего элемента массива M для потопленного корабля

m(MSFlexGrid1.Row, MSFlexGrid1.Col)=0

Text2.Text= Text2.Text+ 1 ‘число потопленных кораблей увеличивается на 1

If Text1.Text= Text2.Text Then           ‘потоплен последний корабль

  MsgBox ”Победа!”, vbOKOnly, ”Морской бой” ‘сообщение (рис.6.23.1)

  MSFlexGrid1.Enabled=False                ‘блокировка таблицы

End If

Else                                                                 ‘снаряд не попал в корабль

MSFlexGrid1.Text= ”X” ‘пометка символом X выстрела по текущей ячейке

End If

End Sub

Private Sub Command2_Click () ‘ процедура обработки кнопки “ Выход ”

End                                           ‘завершение работы программы

End Sub


Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.048 с.