Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Как подставить методы грида методам автоматически создаваемых столбцов при ColumnCount=-1?  [new]
strizh
Member

Откуда: Киев
Сообщений: 937
Есть форма с кучей элементов и с гридом, в который каждый раз приходит другой источник данных. Соответственно, ColumnCount стоит -1, как сделать так, чтобы методы типа Click, MouseDown и пр., определенные для грида, срабатывали бы и на вновь созданных гридом столбцах ? Методы типа WriteMethod не работают на этапе исполнения, но ведь и не надо методы заново писать, надо только сделать наследование (или ссылки прописать) на уже готовые методы самого грида ! Понятно, что здесь советовали ВладимирМ и прочие - сделать свой класс Header, на основании него свой класс column, на основании - класс грид ... Но ведь это долго ! А можно ли обойтись более простыми методами (как в C++ - адрес функции ткнуть куда надо :-)) ?
И вообще - есть ли в VFP ссылки на функции (код, короче), или только на переменные (в т.ч. объекты) ?
18 ноя 04, 17:07    [1117924]     Ответить | Цитировать Сообщить модератору
 Re: Как подставить методы грида методам автоматически создаваемых столбцов при ColumnCount=-1?  [new]
Aleksey-K
Member

Откуда: Москва
Сообщений: 3116
Создать свои классы Header
Создать свой класс TextBox и в нем перегрузить методы Click(), DblClick() и пр.
Создать свой класс Column и в нем прописать указания на свой класс Header (HeaderClass, HeaderClassLibrary) и на свой класс TextBox
Создать свой класс GRID и в нем прописать указание на ской класс Column (MemberClass и MemberClassLibrary)
В формах использовать свой класс GRID.
Работает это все только в VFP8 и выше.

С уважением, Алексей
E-Mail: vfox@bk.ru
ICQ: 17060773
HTTP: www.caws.atnet.ru/vfox
18 ноя 04, 17:18    [1118001]     Ответить | Цитировать Сообщить модератору
 Re: Как подставить методы грида методам автоматически создаваемых столбцов при ColumnCount=-1?  [new]
_Кэт_
Guest
http://forum.foxclub.ru/read.php?f=5&i=89892&t=89886#reply_89892
18 ноя 04, 18:24    [1118321]     Ответить | Цитировать Сообщить модератору
 Re: Как подставить методы грида методам автоматически создаваемых столбцов при ColumnCount=-1?  [new]
strizh
Member

Откуда: Киев
Сообщений: 937
У-у-у. А в VFP 6 как быть ?
18 ноя 04, 19:55    [1118544]     Ответить | Цитировать Сообщить модератору
 Re: Как подставить методы грида методам автоматически создаваемых столбцов при ColumnCount=-1?  [new]
strizh
Member

Откуда: Киев
Сообщений: 937
Ну тогда как хотя-бы перехватить нажатия мышки - какое событие грида сработает ?
18 ноя 04, 19:57    [1118546]     Ответить | Цитировать Сообщить модератору
 Re: Как подставить методы грида методам автоматически создаваемых столбцов при ColumnCount=-1?  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi strizh!
> Ну тогда как хотя-бы перехватить нажатия мышки - какое событие грида
> сработает ?

Grid.Click - естественно что только при кликах по области не занятой
ячейками, и не по заголовкам.
А вообще если у тебя VFP6 то именно через создание своих классов (достаточно
класса текстбокса и хедера), и соответственно замены стандартных объектов на
новые - производные от этого класса - это и решается. В методах этих
объектов можешь прописать This.Parent.Parent.MyEventHandler(This, "Click") -
и соответственно функционал помещать в метод MyEventHandler грида -
параметры укажут какое событие произошло и в каком именно контроле (в каком
столбце).
Если бы у тебя был VFP8, то можно было-бы обойтись BINDEVENTS()

Posted via ActualForum NNTP Server 1.1

19 ноя 04, 00:44    [1118852]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить