| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Как отловить изменение ширины столбца MSFlexGrid |
| Автор: Domino 12.4.2005, 15:49 |
| Как отловить изменение размера столбца таблицы MSFlexGrid (какое событие генерируется, когда пользователь изменяет ширину столбца таблицы)? |
| Автор: Naghual 12.4.2005, 16:16 |
| А никакое не генерируется. Нету у него такого |
| Автор: Domino 12.4.2005, 16:33 |
| Да, стандартными средствами VB у меня не вышло. Но, может, есть какой нибудь другой, "нестандартный" способ? |
| Автор: Gannibal 13.4.2005, 01:36 |
| я думал что можно ну вот так типо отловить размер можно нет? имяФлехГрида.ColWidth(номер какои) = 1000 вот так вот нет? Добавлено @ 01:39 Ширина, высота строк и колонок Ширина колонок устанавливается свойством ColWidth. Единственный параметр index указывает индекс колонки, ширину которой получаем или устанавливаем. Свойство имеет тип Long и устанавливается в твипах. MsgBox MSFlexGrid.ColWidth (2) MSFlexGrid.ColWidth (2) = 1500 Высота колонок определяется свойством RowHeight, также имеющим тип Long и измеряющимся в твипах. В качестве параметра задаётся индекс строки. MsgBox MSFlexGrid.RowHeight (34) MSFlexGrid.RowHeight (34) = 200 Также можно установить минимальную высоту строк. Это делается с помощью свойства RowHeightMin. Пользователь и сам может изменять высоту строк и ширину колонок. Но для этого нужно установить соответствующее значение свойства AllowUserResizing. Это свойство имеет тип AllowUserResizeSettings и может принимать значение одной из следующих констант: Константа Значение Описание flexResizeNone 0 Пользователь не может изменять ни высоту строк, ни ширину колонок. Это значение устанавливается по умолчанию. flexResizeColumns 1 Пользователь может изменять только ширину колонок. flexResizeRows 2 Пользователь может изменять только высоту строк. flexResizeBoth 3 Пользователь может изменять и высоту строк, и ширину колонок. |
| Автор: Domino 13.4.2005, 07:29 |
| M.E.G.U.S, спасибо, но это всё не то. Мне нужно узнать, что пользователь в какой-то момент изменил ширину столбца. Дело в том, что мышиные события (Click, MouseDown, MouseUp и пр.) при изменении размера не генерируются. |
| Автор: valex13 13.4.2005, 07:44 |
| Напиши свой FlexGrid |
| Автор: Naghual 13.4.2005, 10:42 |
| Поставь хук на ФлексГрид! |
| Автор: Domino 13.4.2005, 11:53 | ||
С хуками никогда не работал. |
| Автор: Exception 13.4.2005, 12:19 |
| С хуком маяться не советую - потом сам запутаешься в своем коде. А DataGrid юзать не выйдет? В нем есть событие ColResize |
| Автор: Domino 14.4.2005, 08:39 | ||
У DataGrid методы отличны от FlexGrid. Мне ради добавления одной фишки придется перелопатить весь готовый код. Run-time error, спасибо за совет. Я посмотрю, насколько сложно его осуществление. |