Библиотека Интернет Индустрии I2R.ru |
|||
|
MSFlexGridВведение MSFlexGrid контрол используется для вывода табличных данных. Об этом контроле пойдёт речь в этой статье. Контрол MSFlexGrid допускает форматирование текста внутри ячеек и вставка в таблицу картинок. Возможна связь контрола с базой данных. Для подключения контрола MSFlexGrid к проекту откройте меню Project|Components и отметьте пункт "Microsoft FlexGrid control". Доступ к содержимому ячеек Количество строк и колонок указывается свойствами, соответственно, Rows и Cols. Отсчёт строк и колонок начинается с 0. Текущую строку указывает свойство Row, а текущую колонку свойство Col. Debug.Print "Всего строк " & MSFlexGrid.Rows Debug.Print "Всего колонок " & MSFlexGrid.Cols Debug.Print "Текущая строка " & MSFlexGrid.Row Debug.Print "Текущая колонка " & MSFlexGrid.ColДоступ к содержимому текущей ячейки (которая выделена пользователем) осуществляется через свойство Text. Debug.Print MSFlexGrid.Text MSFlexGrid.Text = "Привет!"Для доступа к содержимому произвольной ячейки используется свойство TextArray. Оно имеет один параметр - Index. Это индекс ячейки, содержимое которой нужно изменить или получить. Он вычисляется следующим образом. К номеру столбца ячейки прибавляется произведение ее номера строки на количество колонок, определяемое свойством Cols. Для расчёта индекса ячейки удобно использовать эту функцию: Function GetCellIndex (MSFlexGrid As MSFlexGrid, row As Integer, col As Integer) GetCellIndex = row * MSFlexGrid.Cols + col End FunctionТакже можно добавлять строки с помощью метода AddItem. MSFlexGrid.AddItem "Строка"Разделителем колонок служит vbTab. MSFlexGrid.AddItem "Строка1" & vbTab & "Строка2" & vbTab & "Строка3"Удалять строки можно, используя метод RemoveItem. Первый параметр - index указывает, какую строку нужно удалить. Для первой строки index = 0. MSFlexGrid.RemoveItem 2 Форматирование текста В ячейках может содержаться текст, изображение, а может и то и другое. В MSFlexGrid возможно форматирование текста: выделение курсивом, подчёркиванием, полужирным, изменением цвета фона и текста, выравнивание текста, изменение шрифта и размера шрифта, стиль текста и др. Свойства, служащие для форматирования текста ячеек представлены в таблице.
Все эти свойства не доступны в Design time. Свойства применяются к текущей ячейке. Свойство CellAlignment может принимать значение одной из констант:
Вставка изображения в ячейку В ячейку можно вставлять изображения. Для этого служит свойство CellPicture типа Picture. Можно вставлять изображения любого типа, с которыми умеет работать VB. Это Bitmap (bmp), Icon (ico), Windows Metafile (wmf), JPEG (jpg) и GIF (gif). Если вставить анимированное GIF изображение, то показывается только первый кадр. Изображение можно загрузить из файла, используя функцию LoadPicture или из другого объекта, например Picture или Image. Set MSFlexGrid.CellPicture = LoadPicture ("C:\Windows\Облака.bmp") Set MSFlexGrid.CellPicture = Image1.PictureИзображение также можно выравнивать. Для этого служит свойство CellPictureAlignment. Оно может принимать значение одной из следующих констант: flexAlignLeftTop = 0 Что означают эти константы, думаю, понятно из их названия. Заголовки строк и колонок Заголовки строк и колонок в MSFlexGrid представляют собой нескроллируемую строку/колонку. Наличие заголовков строк и колонок устанавливается свойствами FixedRows и FixedCols соответственно. Содержимое заголовков определяется свойством FormatString. Следующий пример показывает, как установить заголовки колонок: Dim s As String s = "<ID|Name|Email|Order" MSFlexGrid.FormatString = sЗаголовки строк определяются похожим образом: Dim s As String s = ";Первый|Второй|Третий|Четвёртый" MSFlexGrid.FormatString = s Цвет фона всех заголовков можно установить свойством BackColorFixed. Цвет шрифта заголовков определяет свойство ForeColorFixed. Заголовок - это группа ячеек, так что к нему применимы все те же способы форматирования содержимого, что и для других ячеек. Ширина, высота строк и колонок Ширина колонок устанавливается свойством ColWidth. Единственный параметр index указывает индекс колонки, ширину которой получаем или устанавливаем. Свойство имеет тип Long и устанавливается в твипах. MsgBox MSFlexGrid.ColWidth (2) MSFlexGrid.ColWidth (2) = 1500 Высота колонок определяется свойством RowHeight, также имеющим тип Long и измеряющимся в твипах. В качестве параметра задаётся индекс строки. MsgBox MSFlexGrid.RowHeight (34) MSFlexGrid.RowHeight (34) = 200 Также можно установить минимальную высоту строк. Это делается с помощью свойства RowHeightMin. Пользователь и сам может изменять высоту строк и ширину колонок. Но для этого нужно установить соответствующее значение свойства AllowUserResizing. Это свойство имеет тип AllowUserResizeSettings и может принимать значение одной из следующих констант:
Свойства, определяющие внешний вид контрола В MSFlexGrid достаточно гибко регулируется внешний вид. Очень много свойств, определяющих цвета разных элементов контрола. Все они имеют тип OLE_Color. Они перечислены в этой таблице:
Другие свойства, определяющие вид контрола:
Свойство GridLines и GridLinesFixed могут принимать значения одной из констант:
Свойство HighLight может принимать значение одной из следующих констант:
|
|
2000-2008 г. Все авторские права соблюдены. |
|